anchor.diff:      FPort: Integer;
       FThreadPoolSize: Integer;
       FName: string;
  -  class threadvar
  -    FWebRequest: TWebRequest;
  -    FWebResponse: TWebResponse;
  -    FURL: TMARSURL;
  -    FToken: TMARSToken;
  +
  +    class threadvar FWebRequest: TWebRequest;
  +    class threadvar FWebResponse: TWebResponse;
  +    class threadvar FURL: TMARSURL;
  +    class threadvar FToken: TMARSToken;
   
       function GetCurrentRequest: TWebRequest;
       function GetCurrentResponse: TWebResponse;
       function GetCurrentURL: TMARSURL;
       function GetCurrentToken: TMARSToken;
     protected
  +    class var _Instance: TMARSEngine;
  +    class function GetInstance: TMARSEngine; static;
       procedure DoBeforeHandleRequest(const AApplication: TMARSApplication); virtual;
       procedure DoAfterHandleRequest(const AApplication: TMARSApplication; const AStopWatch: TStopWatch); virtual;
     public
  
positive.code:     property CurrentToken: TMARSToken read GetCurrentToken;
      property CurrentRequest: TWebRequest read GetCurrentRequest;
      property CurrentResponse: TWebResponse read GetCurrentResponse;
    end;
  
  implementation
  
negative.code:   Result := FURL;
  end;
  
  class function TMARSEngine.GetInstance: TMARSEngine;
  begin
    if not Assigned(_Instance) then
      _Instance := TMARSEngine.Create;
    Result := _Instance;
  end;
  
  end.
  