code: def GetValue(self, identifier, default_value=None):
      
      if not isinstance(identifier, py2to3.STRING_TYPES):
        raise TypeError('Identifier not a string type.')
  
      identifier = identifier.lower()
      return self._values.get(identifier, default_value)
docs: Retrieves a value by identifier.
  
      Args:
        identifier (str): case insensitive unique identifier for the value.
        default_value (object): default value.
  
      Returns:
        object: value or default value if not available.
  
      Raises:
        TypeError: if the identifier is not a string type.