code: public static int MurmurHash2(int c, int seed) {
          // 'm' and 'r' are mixing constants generated offline.
          // They're not really 'magic', they just happen to work well.
          int m = 0x5bd1e995;
          // Initialize the hash to a 'random' value
          int h = seed ^ 4;
          c *= m;
          c ^= c >>> 24;
          c *= m;
          h *= m;
          h ^= c;
          h ^= h >>> 13;
          h *= m;
          h ^= h >>> 15;
          return h;
      }
docs: MurmurHash hash function integer. <p/> <h3>Links</h3> <a href="http://sites.google.com/site/murmurhash/">http://sites.google.com/site/murmurhash/</a><br/>
  <a href="http://dmy999.com/article/50/murmurhash-2-java-port">http://dmy999.com/article/50/murmurhash-2-java-port</a><br/>
  <a href="http://en.wikipedia.org/wiki/MurmurHash">http://en.wikipedia.org/wiki/MurmurHash</a><br/>
  
  @param c    int to be hashed
  @param seed seed parameter
  @return 32 bit hash