code: def read_property_to_result_element(obj, propertyIdentifier, propertyArrayIndex=None):
      
      if _debug: read_property_to_result_element._debug("read_property_to_result_element %s %r %r", obj, propertyIdentifier, propertyArrayIndex)
  
      # save the result in the property value
      read_result = ReadAccessResultElementChoice()
  
      try:
          if not obj:
              raise ExecutionError(errorClass='object', errorCode='unknownObject')
  
          read_result.propertyValue = read_property_to_any(obj, propertyIdentifier, propertyArrayIndex)
          if _debug: read_property_to_result_element._debug("    - success")
      except PropertyError as error:
          if _debug: read_property_to_result_element._debug("    - error: %r", error)
          read_result.propertyAccessError = ErrorType(errorClass='property', errorCode='unknownProperty')
      except ExecutionError as error:
          if _debug: read_property_to_result_element._debug("    - error: %r", error)
          read_result.propertyAccessError = ErrorType(errorClass=error.errorClass, errorCode=error.errorCode)
  
      # make an element for this value
      read_access_result_element = ReadAccessResultElement(
          propertyIdentifier=propertyIdentifier,
          propertyArrayIndex=propertyArrayIndex,
          readResult=read_result,
          )
      if _debug: read_property_to_result_element._debug("    - read_access_result_element: %r", read_access_result_element)
  
      # fini
      return read_access_result_element
docs: Read the specified property of the object, with the optional array index,
      and cast the result into an Any object.