anchor.diff:                if Assigned(obj) then
                 begin
                   AValue := obj;
  -
  -              //  Result := AValue;
  -
                   bCreated := True;
                 end;
               end;
  
positive.code:   obj: TObject;
    AValue, lEnumerator: TValue;
    bCreated: Boolean;
    lEnumMethod, lClearMethod, lGetEnumMethod, lGetCurrentMethod: TRttiMethod;
    AParams: TArray<TRttiParameter>;
    lEnumType: TRttiType;
    lCurrentProp: TRttiProperty;
  begin
    bCreated := False;
    AValue := TValue.Empty;
  
negative.code:             else
              begin
                SetLength(arrVal, AJsonArray.Size);
  
                for i := 0 to Length(arrVal)-1 do
                begin
  