To clarify on "Try and understand each and every line of it", don't try to do it sequentially. Initially, understand at 10000 ft level and leave the abstractions as is. Then dive deeper in second pass understanding one-level down of abstractions, then deeper in third and so on.