class_docstr: Allows to update a property of an object. 
code: def _check_if_provided_a_valid_value(self):
      descriptor = self.obj.lookup(self.attr)
  
      if descriptor.property.is_valid(self.value):
          return None
      else:
          return f"{self.value!r} is not a valid value for {self.obj}.{self.attr}"
  
imports: from __future__ import annotations
  import logging
  import pathlib
  from typing import TYPE_CHECKING, Any
  from ..core.has_props import HasProps, abstract
  from ..core.properties import Any, AnyRef, Auto, Bool, Dict, Either, Instance, Required, String
  from ..core.property.bases import Init
  from ..core.property.singletons import Intrinsic
  from ..core.validation import error
  from ..core.validation.errors import INVALID_PROPERTY_VALUE, NOT_A_PROPERTY_OF
  from ..model import Model
label_desc: Use image node_id 3 for calling the SetValue obj's underlying member method code with example usage: obj._check_if_provided_a_valid_value() and returns: None, self, str, self, str, self