public boolean mightContain(long key) {
    long hash = hash64(key, seed);
    int f = fingerprint(hash);
    int r0 = (int)hash;
    int r1 = (int)Long.rotateLeft(hash, 21);
    int r2 = (int)Long.rotateLeft(hash, 42);
    int h0 = reduce(r0, blockLength);
    int h1 = reduce(r1, blockLength) + blockLength;
    int h2 = reduce(r2, blockLength) + 2 * blockLength;
    f ^= fingerprints[h0] ^ fingerprints[h1] ^ fingerprints[h2];
    return (f & 0xffff) == 0;
  }
public boolean mightContain(long key)