/// <summary>
        /// Processes the given request in the given handler. This basically
        /// works around the annoyance that SendAsync is protected.
        /// </summary>
        internal static Task <HttpResponseMessage> ProcessRequestAsync(
            HttpMessageHandler handler, HttpRequestMessage request, CancellationToken cancellationToken = default(CancellationToken))
        {
            var trampoline = new TestHandler(handler);

            return(trampoline.ExposedSendAync(request, cancellationToken));
        }