protected final void throwObjectContractViolation()

in core/src/main/java/gnu/trove/TObjectHash.java [329:345]


  protected final void throwObjectContractViolation(Object o1, Object o2)
    throws IllegalArgumentException {
    throw new IllegalArgumentException("Equal objects must have equal hashcodes. "
                                       + "During rehashing, Trove discovered that "
                                       + "the following two objects claim to be "
                                       + "equal (as in java.lang.Object.equals() or TObjectHashingStrategy.equals()) "
                                       + "but their hashCodes (or those calculated by "
                                       + "your TObjectHashingStrategy) are not equal."
                                       + "This violates the general contract of "
                                       + "java.lang.Object.hashCode().  See bullet point two "
                                       + "in that method's documentation. "
                                       + "object #1 =" + o1 + (o1 == null ? "" : " (" + o1.getClass() + ")")
                                       + ", hashCode=" + _hashingStrategy.computeHashCode((T)o1)
                                       + "; object #2 =" + o2 + (o2 == null ? "" : " (" + o2.getClass() + ")")
                                       + ", hashCode=" + _hashingStrategy.computeHashCode((T)o2)
    );
  }