src/main/java/org/jivesoftware/smack/util/collections/AbstractReferenceMap.java
protected int hashEntry(Object key, Object value) {
        return (key == null ? 0 : key.hashCode())
                ^ (value == null ? 0 : value.hashCode());
    }
protected int hashEntry(Object key, Object value) {
        return (key == null ? 0 : key.hashCode())
                ^ (value == null ? 0 : value.hashCode());
    }
Gets the hash code for a MapEntry. Subclasses can override this, for
example to use the identityHashCode.

@param key
the key to get a hash code for, may be null
@param value
the value to get a hash code for, may be null
@return the hash code, as per the MapEntry specification