public static int secondaryIdentityHash(Object key){
  return secondaryHash(System.identityHashCode(key));
}

public static int secondaryIdentityHash ( Object key ) { return secondaryHash ( System . identityHashCode ( key ) ) ; }
computes an identity hash code and applies a supplemental hash function to defend against poor quality hash functions . this is critical because identity hash codes are currently implemented as object addresses , which will have been aligned by the underlying memory allocator causing all hash codes to have the same bottom bits .
