src/main/java/org/jivesoftware/smack/util/collections/AbstractHashedMap.java
protected int hash(Object key) {
        // same as JDK 1.4
        int h = key.hashCode();
        h += ~(h << 9);
        h ^= (h >>> 14);
        h += (h << 4);
        h ^= (h >>> 10);
        return h;
    }
protected int hash(Object key) {
        // same as JDK 1.4
        int h = key.hashCode();
        h += ~(h << 9);
        h ^= (h >>> 14);
        h += (h << 4);
        h ^= (h >>> 10);
        return h;
    }
protected int hash ( Object key ) { // same as JDK 1.4 int h = key . hashCode ( ) ; h += ~ ( h << 9 ) ; h ^= ( h >>> 14 ) ; h += ( h << 4 ) ; h ^= ( h >>> 10 ) ; return h ; }
Gets the hash code for the key specified. This implementation uses the
additional hashing routine from JDK1.4. Subclasses can override this to
return alternate hash codes.

@param key
the key to get a hash code for
@return the hash code
Gets the hash code for the key specified . This implementation uses the additional hashing routine from JDK1 . 4 . Subclasses can override this to return alternate hash codes .