public void writeTo(CodedOutputStream output) throws IOException {
   if (type.getOptions().getMessageSetWireFormat()) {
     fields.writeMessageSetTo(output);
     unknownFields.writeAsMessageSetTo(output);
   } else {
     fields.writeTo(output);
     unknownFields.writeTo(output);
   }
 }