The bottom line is that by giving yourself permission to modify the code, you can ensure that the original system vision is adhered to and that the quality of the code meets your standards and in doing so you should be able to grasp most of the details of what is happening in the system.