code: private void readObject(final ObjectInputStream inp) throws IOException, ClassNotFoundException {
          inp.defaultReadObject();
          table = new Entry[inp.readInt()];
          threshold = (int) (table.length * loadFactor);
          queue = new ReferenceQueue();
          Object key = inp.readObject();
          while (key != null) {
              final Object value = inp.readObject();
              put(key, value);
              key = inp.readObject();
          }
      }
docs: Reads the contents of this object from the given input stream.
  
  @param inp the input stream to read from
  @throws IOException            if the stream raises it
  @throws ClassNotFoundException if the stream raises it