docs: protected void serialize(DataTree dt,Map<Long, Long> sessions,
              OutputArchive oa, FileHeader header) throws IOException {
          // this is really a programmatic error and not something that can
          // happen at runtime
          if(header==null)
              throw new IllegalStateException(
                      "Snapshot's not open for writing: uninitialized header");
          header.serialize(oa, "fileheader");
          SerializeUtils.serializeSnapshot(dt,oa,sessions);
      }