Why did java designers impose a mandate that if obj1.equals(obj2) then obj1.hashCode() MUST Be == obj2.hashCode()
===

Why did java designers impose a mandate that 
if obj1.equals(obj2) then 
    obj1.hashCode() MUST Be == obj2.hashCode()