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