anchor.diff:    FResponse := TJSONObject.Create;
     SpecificAccept := TMediaType.APPLICATION_JSON;
     SpecificContentType := TMediaType.APPLICATION_JSON;
  +  FNotifyList := TList<TNotifyEvent>.Create;
   end;
   
   destructor TMARSClientResourceJSON.Destroy;
   begin
     FResponse.Free;
  +  FreeAndNil(FNotifyList);
     inherited;
  +end;
  +
  +procedure TMARSClientResourceJSON.GetJSONResponse(out AJSONValue: TJSONValue;
  +  out AHasOwner: Boolean);
  +begin
  +  AJSONValue := FResponse;
  +  AHasOwner := True;
   end;
   
   function TMARSClientResourceJSON.GetResponseAsString: string;
  
positive.code: 
  { TMARSClientResourceJSON }
  
  procedure TMARSClientResourceJSON.AfterGET(const AContent: TStream);
  begin
    inherited;
    if Assigned(FResponse) then
      FResponse.Free;
    FResponse := StreamToJSONValue(AContent);
  end;
  
  procedure TMARSClientResourceJSON.AfterPOST(const AContent: TStream);
  begin
    inherited;
    if Assigned(FResponse) then
      FResponse.Free;
    FResponse := StreamToJSONValue(AContent);
  end;
  
  constructor TMARSClientResourceJSON.Create(AOwner: TComponent);
  
negative.code: interface
  
  uses
    SysUtils, Classes, REST.Client, Generics.Collections
    , MARS.Core.JSON, MARS.Client.Utils
    , MARS.Client.Resource, MARS.Client.CustomResource
    , MARS.Client.Client
  