@Override
    public void write(DataWriter out) throws IOException {
        typeTreeBlock.markBegin(out);
        out.writeStruct(typeTree);
        typeTreeBlock.markEnd(out);
        L.log(Level.FINER, "typeTreeBlock: {0}", typeTreeBlock);

        objectInfoBlock.markBegin(out);
        out.writeStruct(objectInfoTable);
        objectInfoBlock.markEnd(out);
        L.log(Level.FINER, "objectInfoBlock: {0}", objectInfoBlock);

        if (version > 10) {
            objectIDBlock.markBegin(out);
            out.writeStruct(objectIDTable);
            objectIDBlock.markEnd(out);
            L.log(Level.FINER, "objectIDBlock: {0}", objectIDBlock);
        }

        externalsBlock.markBegin(out);
        out.writeStruct(externals);
        externalsBlock.markEnd(out);
        L.log(Level.FINER, "externalsBlock: {0}", externalsBlock);
    }
@author Nico Bergemann <barracuda415 at yahoo.de>
disunity-core/src/main/java/info/ata4/junity/serialize/SerializedFileMetadata.java