code: def _setter(self, obj, value):
          
          if isinstance(value, DynamicValue):  # execute lambda values.
              fvalue = value()
  
          else:
              fvalue = value
  
          self._validate(data=fvalue, owner=obj)
  
          if self._fset_ is not None:
              self._fset_(obj, fvalue)
  
          else:
              setattr(obj, self._attrname(), value)
  
          # notify obj about the new value.
          if isinstance(obj, Schema):
              obj._setvalue(self, fvalue)
docs: Called when the parent element tries to set this property value.
  
          :param obj: parent object.
          :param value: new value to use. If lambda, updated with the lambda
              result.