code: void writeRest(RecordOutput rout, String tag) throws IOException {
      rout.writeInt(typeInfos.size(), tag);
      for (FieldTypeInfo ti : typeInfos) {
        ti.write(rout, tag);
      }
    }
docs: /*
  Writes rest of the struct (excluding type value).
  As an optimization, this method is directly called by RTI
  for the top level record so that we don't write out the byte
  indicating that this is a struct (since top level records are
  always structs).