anchor.diff:  
       {$IFDEF SUPPORTS_GENERICS}
       function Get<T>(): T;overload;
  -    function Post<T>(Entity: TObject): T;overload;
  -    function Post<T>(Content: string): T;overload;
  -    function Put<T>(Entity: TObject): T;overload;
  -    function Put<T>(Content: string): T;overload;
  -    function Patch<T>(Entity: TObject): T;overload;
  -    function Patch<T>(Content: string): T;overload;
  +    function Post<T>(Content: TObject): T; overload;
  +    function Post<T>(Content: string): T; overload;
  +    function Put<T>(Content: TObject): T; overload;
  +    function Put<T>(Content: string): T; overload;
  +    function Patch<T>(Content: TObject): T; overload;
  +    function Patch<T>(Content: string): T; overload;
  +    function Delete<T>(Content: TObject): T; overload;
  +    function Delete<T>(Content: string): T; overload;
       {$ELSE}
       function Get(AListClass, AItemClass: TClass): TObject;overload;
       function Post(Adapter: IJsonListAdapter): TObject;overload;
  
positive.code:   Result := ParseGenericResponse<T>(Post(Content));
  end;
  
  function TResource.Put<T>(Entity: TObject): T;
  begin
    SetContent(Entity);
    Result := ParseGenericResponse<T>(FRestClient.DoRequest(METHOD_PUT, Self));
  end;
  
  function TResource.Put<T>(Content: string): T;
  begin
    Result := ParseGenericResponse<T>(Content);
  end;
  
  function TResource.Patch<T>(Entity: TObject): T;
  begin
    SetContent(Entity);
    Result := ParseGenericResponse<T>(FRestClient.DoRequest(METHOD_PATCH, Self));
  end;
  
  function TResource.Patch<T>(Content: string): T;
  begin
    Result := ParseGenericResponse<T>(Patch(Content));
  end;
  {$ELSE}
  
  
negative.code:   Result := ParseGenericResponse<T>(Self.Get);
  end;
  
  function TResource.Post<T>(Content: TObject): T;
  begin
    SetContent(Content);
    Result := ParseGenericResponse<T>(FRestClient.DoRequest(METHOD_POST, Self));
  end;
  
  