Rob, can you, please, once more to clarify the following question:
we can use contract:
equal objects must have equal hash codes
to instances class Object??
I investigated this moment and see, that to different Objects (I mean new Object() and new Object()) has different hashCode value.
If we can use contract for this Objects - all Ok, different hashCode - not equals.