hashcode is not overridden in superclass. Is this really doing what it is supposed to?