@nprofile1q... Well instead of checking if it is null you always dereference it BUT you twist the logic so that the result cancels out when it was null.
Basically you're doing a lot of calculations with invalid data but the invalid data will cancel out.