code: private void readObject (ObjectInputStream in)
          throws IOException, ClassNotFoundException
      {
          int count = in.readInt();
  
          for (int ii = 0; ii < count; ii++) {
              int tileSetId = in.readInt();
              TileSet set = (TileSet)in.readObject();
              put(tileSetId, set);
          }
      }
docs: custom unserialization process