public virtual WebResponse GetResponse() { Func<WebRequest> webRequestFactory = () => { WebRequest request = WebRequest.Create(Uri); InitializeRequestProperties(request); return request; }; var requestHelper = new RequestHelper( webRequestFactory, RaiseSendingRequest, ProxyCache.Instance, CredentialStore.Instance, DefaultCredentialProvider, DisableBuffering); return requestHelper.GetResponse(); }