public static int h(long key){
  return (int)((int)(key >> 32) ^ Integer.reverseBytes((int)(key & 0xFFFFFFFF))) & 0x7fffffff;
}

public static int h ( long key ) { return ( int ) ( ( int ) ( key > > 32 ) ^ Integer . reverseBytes ( ( int ) ( key & 0xFFFFFFFF ) ) ) & 0x7fffffff ; }
returns a non - negative hash value
