code: def _cim_property_value(key, value):
      
  
      if key is None:
          raise ValueError("Property name must not be None")
  
      if isinstance(value, CIMProperty):
          if value.name.lower() != key.lower():
              raise ValueError(
                  _format("CIMProperty.name must be dictionary key {0!A}, but is"
                          "{1!A}", key, value.name))
          prop = value
      else:
          # We no longer check for the common error to set CIM numeric values as
          # Python number types, because that is done in the CIMProperty
          # init method.
          prop = CIMProperty(key, value)
  
      return prop
docs: Return a CIMProperty object for representing a property value, from dict
      item input (key+value), after performing some checks.
  
      If the input value is a CIMProperty object, it is returned.
  
      Otherwise, a new CIMProperty object is created from the input value, and
      returned.