anchor.diff:  end;
   
   function TResource.Post(Entity: TObject; ResultClass: TClass): TObject;
  -var
  -  vResponse: string;
  -begin
  -  if Entity <> nil then
  -    SetContent(Entity);
  -  vResponse := FRestClient.DoRequest(METHOD_POST, Self);
  -  if trim(vResponse) <> '' then
  -    Result := TJsonUtil.UnMarshal(ResultClass, vResponse)
  -  else
  -    Result := nil;
  +begin
  +  Result := EntityRequest(Entity, ResultClass, METHOD_POST);
   end;
   
   function TResource.Put(Entity: TObject): TObject;
  -var
  -  vResponse: string;
  -begin
  -  if Entity <> nil then
  -    SetContent(Entity);
  -
  -  vResponse := FRestClient.DoRequest(METHOD_PUT, Self);
  -  if trim(vResponse) <> '' then
  -    Result := TJsonUtil.UnMarshal(Entity.ClassType, vResponse)
  -  else
  -    Result := nil;
  +begin
  +  Result := Put(Entity, Entity.ClassType);
   end;
   
   function TResource.Put(Content: string; ResultClass: TClass): TObject;
  
positive.code: 
      constructor Create(RestClient: TRestClient; URL: string);
      procedure SetContent(entity: TObject);
    public
      destructor Destroy; override;
  
  
negative.code: end;
  
  function TResource.Post(Entity: TObject): TObject;
  begin
    Result := Post(Entity, Entity.ClassType);
  end;
  
  function TResource.Post(Content: string; ResultClass: TClass): TObject;
  