What do you think about doing the inverse comparison and returning false, leaving the rest of the method for key generation?  I generally like doing that since it removes one level of nesting and feels cleaner.  If you agree, I would say we should do the same for the rest of the methods.