anchor.diff:    ARequest: TWebRequest; AMediaType: TMediaType);
   var
     LMethodResult: TValue;
  -  LArgumentArray: TArgumentArray;
  +  LArgumentArray: TArray<TValue>;
     LMARSResponse: TMARSResponse;
     LStream: TBytesStream;
     LContentType: AnsiString;
     LCustomAtributeProcessor: TProc<CustomHeaderAttribute>;
  -  LArgument: TValue;
   begin
     // The returned object MUST be initially nil (needs to be consistent with the Free method)
     LMethodResult := nil;
  
positive.code:   EMARSAuthorizationException = class(EMARSApplicationException);
  
    TAttributeArray = TArray<TCustomAttribute>;
    TArgumentArray = array of TValue;
  
    TMARSApplication = class
    private
  
negative.code: 
      function FillAnnotatedParam(const AParam: TRttiParameter;
        const AResourceInstance: TObject; const AMethod: TRttiMethod): TValue;
      procedure FillResourceMethodParameters(const AInstance: TObject;
        const AMethod: TRttiMethod; var AArgumentArray: TArray<TValue>);
      procedure CleanupResourceMethodParameters(const AMethod: TRttiMethod; const AArguments: TArray<TValue>);
  
      /// <summary>
      ///   Invoke the resource's method filling it's parameters (if any)
  