/// <summary>
 ///     basically a clone constructor
 /// </summary>
 public ReliableHttpException(ReliableHttpException exception)
     : base(exception.Message)
 {
     InnerExceptionType = exception.InnerExceptionType;
     InnerStackTrace = exception.InnerStackTrace;
 }
        public static ReliableHttpException Create(Exception exception)
        {
            if (exception is ReliableHttpException)
            {
                return (ReliableHttpException) exception;
            }

            ReliableHttpException ex;
            if (exception.Message.Contains("The request was aborted"))
            {
                ex = new TimeoutException(exception);
            }
            else
            {
                ex = new ReliableHttpException(exception);
            }

            return ex;
        }
 /// <summary>
 ///     basically a clone constructor
 /// </summary>
 public ReliableHttpException(string message, ReliableHttpException exception)
     : base(message)
 {
     InnerExceptionType = exception.InnerExceptionType;
     InnerStackTrace = exception.InnerStackTrace;
 }