code: public static void writeFieldNoTag(CodedOutputStream   output,
                                       FieldDescriptor     fd,
                                       Object              value)
                                       throws IOException {
      if (value == null) {
        return;
      }
  
      if (fd.isRepeated()) {
        @SuppressWarnings("unchecked")
        List<Object> values = (List<Object>) value;
        for(Object obj : values) {
          writeSingleFieldNoTag(output, fd, obj);
        }
      } else {
        writeSingleFieldNoTag(output, fd, value);
      }
    }
docs: Serializes a single field. All the native fields are serialized using
  "NoTag" methods in {@link CodedOutputStream}
  e.g. <code>writeInt32NoTag()</code>. The field index is not written.
  
  @param output
  @param fd
  @param value
  @throws IOException