public int threeWayDistance(Key k1,Key k2){
  byte[] h0=hash;
  byte[] h1=k1.hash;
  byte[] h2=k2.hash;
  int mmi=mismatch(h1,h2);
  if (mmi == -1)   return 0;
  int h=Byte.toUnsignedInt(h0[mmi]);
  int a=Byte.toUnsignedInt(h1[mmi]);
  int b=Byte.toUnsignedInt(h2[mmi]);
  return Integer.compareUnsigned(a ^ h,b ^ h);
}

public int threeWayDistance ( Key k1 , Key k2 ) { byte [ ] h0 = hash ; byte [ ] h1 = k1 . hash ; byte [ ] h2 = k2 . hash ; int mmi = mismatch ( h1 , h2 ) ; if ( mmi == - 1 ) return 0 ; int h = Byte . toUnsignedInt ( h0 [ mmi ] ) ; int a = Byte . toUnsignedInt ( h1 [ mmi ] ) ; int b = Byte . toUnsignedInt ( h2 [ mmi ] ) ; return Integer . compareUnsigned ( a ^ h , b ^ h ) ; }
compares the distance of two keys relative to this one using the xor metric
