package io.sigpipe.sing.graph;

public class DataContainer {

    public void merge(DataContainer container) {

    }

    public void clear() {

    }

}

@@ -29,127 +29,1106 @@
 h;%0A%0A
-public class DataContainer %7B%0A%0A    public void merge(DataContainer container) %7B%0A%0A    %7D%0A%0A    public void clear() %7B%0A%0A    %7D%0A
+import java.io.IOException;%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0Aimport io.sigpipe.sing.serialization.ByteSerializable;%0Aimport io.sigpipe.sing.serialization.SerializationInputStream;%0Aimport io.sigpipe.sing.serialization.SerializationOutputStream;%0A%0Apublic class DataContainer implements ByteSerializable %7B%0A%0A    public List%3CContainerEntry%3E entries;%0A%0A    public DataContainer() %7B%0A        entries = new ArrayList%3C%3E();%0A    %7D%0A%0A    public void merge(DataContainer container) %7B%0A%0A    %7D%0A%0A    public void clear() %7B%0A%0A    %7D%0A%0A    @Deserialize%0A    public DataContainer(SerializationInputStream in)%0A    throws IOException %7B%0A        int numEntries = in.readInt();%0A        this.entries = new ArrayList%3C%3E(numEntries);%0A        for (int i = 0; i %3C numEntries; ++i) %7B%0A            ContainerEntry entry = new ContainerEntry(in);%0A            entries.add(entry);%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void serialize(SerializationOutputStream out)%0A    throws IOException %7B%0A        out.writeInt(entries.size());%0A        for (ContainerEntry entry : entries) %7B%0A            entry.serialize(out);%0A        %7D%0A    %7D
 %0A%7D%0A

Add container entry list and serialization logic