@Override
 public void serialize(BserWriter writer) throws IOException {
   writer.writeInt(1, this.groupId);
   if (this.ext != null) {
     writer.writeObject(2, this.ext);
   }
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   if (this.peer == null) {
     throw new IOException();
   }
   writer.writeObject(1, this.peer);
   writer.writeLong(2, this.startDate);
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   if (this.peer == null) {
     throw new IOException();
   }
   writer.writeObject(1, this.peer);
   writer.writeLong(2, this.rid);
   writer.writeRepeatedObj(3, this.reactions);
 }
 @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());
   }
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   if (this.groupPeer == null) {
     throw new IOException();
   }
   writer.writeObject(1, this.groupPeer);
   writer.writeLong(2, this.rid);
   for (ApiUpdateOptimization i : this.optimizations) {
     writer.writeInt(3, i.getValue());
   }
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   if (this.settings == null) {
     throw new IOException();
   }
   writer.writeObject(1, this.settings);
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   writer.writeInt(1, this.bannerId);
   writer.writeInt(2, this.viewDuration);
 }
 @Override
 public void serialize(BserWriter writer) throws IOException {
   writer.writeInt(1, this.timeout);
 }