Understanding a large Java program
<p>I am working on a java project and I have to extend (add more functionality) it. But I don't know how should I learn the existing one before incorporating them. 
Is there any specific path I should follow?
Can I run it in a way so that I can see, statement by statement, the execution of the program?</p>

<p>I am a kind of stuck in understanding it, thanks.</p>
