class_docstr: Type checker used to catch type errors as early as possible
  when the client is setting scalar fields in protocol messages.
docstr: Type check the provided value and return it.
  
  The returned value might have been normalized to another type.
code: def CheckValue(self, proposed_value):
      """Type check the provided value and return it.
  
      The returned value might have been normalized to another type.
      """
      if not isinstance(proposed_value, self._acceptable_types):
          message = "%.1024r has type %s, but expected one of: %s" % (
              proposed_value,
              type(proposed_value),
              self._acceptable_types,
          )
          raise TypeError(message)
      return proposed_value
  
imports: import numbers
  import six
  from google.protobuf.internal import api_implementation
  from google.protobuf.internal import decoder
  from google.protobuf.internal import encoder
  from google.protobuf.internal import wire_format
  from google.protobuf import descriptor
label_desc: Use image node_id 2 for calling the TypeChecker obj's underlying member method code with example usage: obj.CheckValue(proposed_value) and returns: proposed_value