private async Task <HttpResponseMessage> SendThrottledRequestAsync(HttpRequestMessage request)
        {
            if (_throttler != null)
            {
                await _throttler.WaitAsync();
            }

            try
            {
                return(await SendRequestAsync(request));
            }
            finally
            {
                if (_throttler != null)
                {
                    _throttler.Release();
                }
            }
        }