The traffic control  code was created 17 years ago. I needed to draw all the view element with java code by myself.
I started to use EJS since 2001.  With EJS: I only need to define variables, provide initial value, relation between variables , set up properties for graphical user interface elements.  Then, EJS will generate java code and create the program.
e.g.  [url=]Ejs version of traffic control simulation[/url]
So I did not wrote java code for 12 years. 

It will take me a lot of time to write extended comments.
If you can indicate where you did not understand the code. I may be able to find time to check it out and figure out what the code is about.
Is it the physics you did not understand? Is it the numerical method you did not understand? Is it the view elements you did not understand?