/** A special "internal" constructor that reads contents from a stream. */
 Component(int id, TPDataInput in) throws IOException {
   super(id, in);
   this.id = in.readInteger32();
   this.modtime = in.readInteger64();
   this.categories.clear();
   for (int length = in.readInteger32(); length > 0; length--)
     this.categories.add(new CategoriesType(in));
   this.name = in.readString();
   this.description = in.readString();
   this.requirements = in.readString();
   this.properties.clear();
   for (int length = in.readInteger32(); length > 0; length--)
     this.properties.add(new PropertiesType(in));
 }
 /** A special "internal" constructor that reads contents from a stream. */
 Okay(int id, TPDataInput in) throws IOException {
   super(id, in);
   this.result = in.readString();
 }
 /** A special "internal" constructor that reads contents from a stream. */
 CategoriesType(TPDataInput in) throws IOException {
   this.category = in.readInteger32();
 }
 /** A special "internal" constructor that reads contents from a stream. */
 PropertiesType(TPDataInput in) throws IOException {
   this.id = in.readInteger32();
   this.valuefunc = in.readString();
 }
 /** A special "internal" constructor that reads contents from a stream. */
 SlotsType(TPDataInput in) throws IOException {
   this.slot = in.readInteger32();
 }
 /** A special "internal" constructor that reads contents from a stream. */
 GetWithIDSlot(int id, TPDataInput in) throws IOException {
   super(id, in);
   this.id = in.readInteger32();
   this.slots.clear();
   for (int length = in.readInteger32(); length > 0; length--) this.slots.add(new SlotsType(in));
 }