public byte[] buildContainer() throws IOException {
   DataOutput res = new DataOutput();
   BserWriter writer = new BserWriter(res);
   writer.writeInt(1, getHeader());
   writer.writeBytes(2, toByteArray());
   return res.toByteArray();
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   if (this.nextOffset != null) {
     writer.writeBytes(1, this.nextOffset);
   }
   writer.writeInt(2, this.limit);
   for (ApiUpdateOptimization i : this.optimizations) {
     writer.writeInt(3, i.getValue());
   }
 }