The or statement looks suspiciously like the same statement in GenerateEntityIdOnTheClient, but it is inversed.  Instead of going ahead and generating the id, it is instead indicates we are done already.