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)
);
}