A null check should only be done when converting a nullable pointer to a non-nullable one. Doing a runtime null check before doing a dereference check is redundant, because the CPU will do it for you.