public async Task <Stream> ReadRenderingHtmlAsync(IGetRenderingHtmlRequest request, CancellationToken cancelToken = default(CancellationToken))
        {
            IGetRenderingHtmlRequest requestCopy = request.DeepCopyGetRenderingHtmlRequest();

            using (ICredentialsHeadersCryptor cryptor = await this.GetCredentialsCryptorAsync(cancelToken))
            {
                IGetRenderingHtmlRequest autocompletedRequest = this.requestMerger.FillGetRenderingHtmlGaps(requestCopy);

                var urlBuilder = new RenderingHtmlUrlBuilder(this.restGrammar, this.webApiGrammar);
                var taskFlow   = new GetRenderingHtmlTasks(urlBuilder, this.httpClient, cryptor);

                return(await RestApiCallFlow.LoadResourceFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken));
            }
        }
    public async Task<Stream> ReadRenderingHtmlAsync(IGetRenderingHtmlRequest request, CancellationToken cancelToken = default(CancellationToken))
    {
      IGetRenderingHtmlRequest requestCopy = request.DeepCopyGetRenderingHtmlRequest();

      using (ICredentialsHeadersCryptor cryptor = await this.GetCredentialsCryptorAsync(cancelToken))
      {
        IGetRenderingHtmlRequest autocompletedRequest = this.requestMerger.FillGetRenderingHtmlGaps(requestCopy);

        var urlBuilder = new RenderingHtmlUrlBuilder(this.restGrammar, this.webApiGrammar);
        var taskFlow = new GetRenderingHtmlTasks(urlBuilder, this.httpClient, cryptor);

        return await RestApiCallFlow.LoadResourceFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken);
      }
    }