code: def PrintField(self, field, value):
      
      out = self.out
      out.write(' ' * self.indent)
      if self.use_field_number:
        out.write(str(field.number))
      else:
        if field.is_extension:
          out.write('[')
          if (field.containing_type.GetOptions().message_set_wire_format and
              field.type == descriptor.FieldDescriptor.TYPE_MESSAGE and
              field.label == descriptor.FieldDescriptor.LABEL_OPTIONAL):
            out.write(field.message_type.full_name)
          else:
            out.write(field.full_name)
          out.write(']')
        elif field.type == descriptor.FieldDescriptor.TYPE_GROUP:
          # For groups, use the capitalized name.
          out.write(field.message_type.name)
        else:
          out.write(field.name)
  
      if field.cpp_type != descriptor.FieldDescriptor.CPPTYPE_MESSAGE:
        # The colon is optional in this case, but our cross-language golden files
        # don't include it.
        out.write(': ')
  
      self.PrintFieldValue(field, value)
      if self.as_one_line:
        out.write(' ')
      else:
        out.write('\n')
docs: Print a single field name/value pair.