@Override
  public void write(DataWriter out) throws IOException {
    int entries = infoMap.size();
    out.writeInt(entries);

    for (Map.Entry<Long, T> infoEntry : infoMap.entrySet()) {
      long pathID = infoEntry.getKey();
      ObjectInfo info = infoEntry.getValue();
      out.writeUnsignedInt(pathID);
      out.writeStruct(info);
    }
  }