internal async Task <HttpResponseMessage> SendMetadataRequestAsync(CancellationToken cancellationToken)
        {
            var request       = new ODataRequest(RestVerbs.Get, _session, ODataLiteral.Metadata);
            var requestRunner = new RequestRunner(_session);

            return(await requestRunner.ExecuteRequestAsync(request, cancellationToken));
        }
        public async Task <IClientWithResponse <T> > RunAsync(CancellationToken cancellationToken)
        {
            var response = await _requestRunner.ExecuteRequestAsync(_request, cancellationToken).ConfigureAwait(false);

            if (cancellationToken.IsCancellationRequested)
            {
                cancellationToken.ThrowIfCancellationRequested();
            }

            return(new ClientWithResponse <T>(_session, _request, response));
        }
        internal async Task<HttpResponseMessage> SendMetadataRequestAsync(CancellationToken cancellationToken)
        {
            var request = new ODataRequest(RestVerbs.Get, _session, ODataLiteral.Metadata);
            var requestRunner = new RequestRunner(_session);

            return await requestRunner.ExecuteRequestAsync(request, cancellationToken);
        }