@Override
 public void write(TPDataOutput out, Connection<?> conn) throws IOException {
   super.write(out, conn);
   out.writeInteger(this.id);
   out.writeInteger(this.slots.size());
   for (SlotsType object : this.slots) object.write(out, conn);
 }
 @Override
 public void write(TPDataOutput out, Connection<?> conn) throws IOException {
   super.write(out, conn);
   out.writeInteger(this.id);
   out.writeInteger(this.modtime);
   out.writeInteger(this.categories.size());
   for (CategoriesType object : this.categories) object.write(out, conn);
   out.writeString(this.name);
   out.writeString(this.description);
   out.writeString(this.requirements);
   out.writeInteger(this.properties.size());
   for (PropertiesType object : this.properties) object.write(out, conn);
 }
 @Override
 public void write(TPDataOutput out, Connection<?> conn) throws IOException {
   super.write(out, conn);
   out.writeString(this.result);
 }
 public void write(TPDataOutput out, Connection<?> conn) throws IOException {
   out.writeInteger(this.category);
 }
 public void write(TPDataOutput out, Connection<?> conn) throws IOException {
   out.writeInteger(this.id);
   out.writeString(this.valuefunc);
 }