code: public static int hash32(final long data, int seed) {
          // 'm' and 'r' are mixing constants generated offline.
          // They're not really 'magic', they just happen to work well.
          final int m = 0x5bd1e995;
          final int r = 24;
  
          // Initialize the hash to a random value
          final int length = 8;
          int h = seed^length;
  
          for (int i=0; i<2; i++) {
              int k = (i==0) ? (int) (data & 0xffffffffL) : (int) ((data >>> 32) & 0xffffffffL);
              k *= m;
              k ^= k >>> r;
              k *= m;
              h *= m;
              h ^= k;
          }
          
          h ^= h >>> 13;
          h *= m;
          h ^= h >>> 15;
  
          return h;
      }
docs: My conversion of MurmurHash to take a long as input.