@Override
 public int hashCode() {
   HashFunction hf = Hashing.goodFastHash(32);
   Hasher h = hf.newHasher();
   h.putInt(slots.size());
   for (int i = 0; i < slots.size(); i++) {
     h.putInt(slots.get(i).size());
     for (int j = 0; j < slots.size(); j++) {
       h.putBytes(slots.get(i).get(j).getLowerRange());
       h.putBytes(slots.get(i).get(j).getUpperRange());
     }
   }
   return h.hash().asInt();
 }
 public HashingOutputStream(HashFunction hashfunction, OutputStream outputstream) {
   super((OutputStream) Preconditions.checkNotNull(outputstream));
   hasher = (Hasher) Preconditions.checkNotNull(hashfunction.newHasher());
 }