I will draw or doodle on a notepad next to the computer. Then I will refer to it as I'm coding. I'm very visual, I need to SEE the diagram to model it, but even more so to communicate any ideas with others. I much prefer to DRAW an explanation than to use words. I get tripped up with names of things. If I create any non-trivial Java class name, I forget it immediately. In my head they are represented in a way I can't describe. There is no name or picture. It simply is and it related to other things which are.