anchor.diff:  
     TMARSCustomClient = class; // fwd
     TMARSCustomClientClass = class of TMARSCustomClient;
  +
  +  TMARSClientBeforeExecuteProc = reference to procedure (const AURL: string;
  +    const AClient: TMARSCustomClient);
   
     TMARSProxyConfig = class(TPersistent)
     private
  
positive.code:   // to be implemented in inherited classes
  end;
  
  procedure TMARSCustomClient.Get(const AURL: string; AResponseContent: TStream;
    const AAuthToken: string; const AAccept: string; const AContentType: string);
  begin
  
negative.code:     FAuthToken: string;
      procedure SetProxyConfig(const Value: TMARSProxyConfig);
    protected
      class var FBeforeExecuteProcs: TArray<TMARSClientBeforeExecuteProc>;
      class procedure FireBeforeExecute(const AURL: string; const AClient: TMARSCustomClient);
    protected
      procedure AssignTo(Dest: TPersistent); override;
  
      function GetConnectTimeout: Integer; virtual;
  