/// <summary>
        /// This method returns an response stream
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        public virtual Stream GetResponseStream(WebResponse response)
        {
            Stream responseStream = null;

            try
            {
                // get the network stream
                Stream nwStream = WebRequestStreamHelper.GetResponseStream(response);

                // get the response stream
                responseStream = new WebResponseStream(nwStream, response, this);
            }
            catch (WebException)
            {
                return(null);
            }
            finally
            {
                StopStopWatch(response, responseStream, null);
            }

            // return the stream
            return(responseStream);
        }
 /// <summary>
 /// This method executes alle dispose code for webresponse streams
 /// </summary>
 /// <param name="response"></param>
 /// <param name="stream"></param>
 public virtual void DisposeWebResponseStreams(WebResponse response, WebResponseStream stream)
 {
 }
 /// <summary>
 /// This method executes alle dispose code for webresponse streams
 /// </summary>
 /// <param name="response"></param>
 /// <param name="stream"></param>
 public virtual void DisposeWebResponseStreams(WebResponse response, WebResponseStream stream)
 {            
 }
        /// <summary>
        /// This method returns an response stream 
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        public virtual Stream GetResponseStream(WebResponse response)
        {
            Stream responseStream = null;

            try
            {
                // get the network stream
                Stream nwStream = WebRequestStreamHelper.GetResponseStream(response);

                // get the response stream            
                responseStream = new WebResponseStream(nwStream, response, this);
            }
            catch (WebException)
            {
                return null;
            }
            finally
            {
                StopStopWatch(response, responseStream, null);
            }

            // return the stream
            return responseStream;
        }