code: protected static long getblock(byte[] key, int offset, int index) {
      int i_8 = index << 3;
      int blockOffset = offset + i_8;
      return ((long) key[blockOffset + 0] & 0xff) + (((long) key[blockOffset + 1] & 0xff) << 8) +
              (((long) key[blockOffset + 2] & 0xff) << 16) + (((long) key[blockOffset + 3] & 0xff) << 24) +
              (((long) key[blockOffset + 4] & 0xff) << 32) + (((long) key[blockOffset + 5] & 0xff) << 40) +
              (((long) key[blockOffset + 6] & 0xff) << 48) + (((long) key[blockOffset + 7] & 0xff) << 56);
    }
docs: NOTE: don't replace this code with the o.e.common.hashing.MurmurHash3 method which returns a different hash