anchor.diff:    obj: TValue;
   begin
     rType := TRttiContext.Create.GetType(TypeInfo(T));
  -  rField := rType.GetField(APropertyName);
  -  obj := TValue.From<T>(AObject);
  +  rField := rType.GetField(APropertyOrFieldName);
  +  obj := TValue.From<T>(ATo);
     if Assigned(rField) then
     begin
       if obj.IsObject then
  
positive.code:     Exit(rProp.PropertyType.IsInstance);
  end;
  
  class procedure TSvRtti.SetValue<T>(const APropertyName: string; const AObject: T; const AValue: TValue);
  var
    rType: TRttiType;
    rField: TRttiField;
  
negative.code:     else
      begin
        raise ESvRttiException.Create(Format('Property or field %S does not exist for a value %S',
          [APropertyOrFieldName, obj.ToString]));
      end;
    end;
  end;
  