/// <summary>
        /// Initializes a new instance of the <see cref="ErrorResponseMessageException" /> class.
        /// </summary>
        /// <param name="httpStatus">The http status code.</param>
        /// <param name="errorResponseMessage">The error response code.</param>
        /// <param name="errorMessage">The error response message.</param>
        /// <param name="innerException">Optional. The inner exception.</param>
        public ErrorResponseMessageException(HttpStatusCode httpStatus, ErrorResponseMessage errorResponseMessage, string errorMessage, Exception innerException = null)
            : base(errorMessage, innerException)
        {
            if (HttpUtility.IsSuccessfulRequest(httpStatus))
            {
                throw new ArgumentException(
                          message: "The error response message exception should not be used for successful http response messages.",
                          paramName: "httpStatus");
            }

            this.HttpStatus           = httpStatus;
            this.ErrorResponseMessage = errorResponseMessage;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ErrorResponseMessageException" /> class.
        /// </summary>
        /// <param name="httpStatus">The http status code.</param>
        /// <param name="errorResponseMessage">The error response code.</param>
        /// <param name="errorMessage">The error response message.</param>
        /// <param name="innerException">Optional. The inner exception.</param>
        public ErrorResponseMessageException(HttpStatusCode httpStatus,  ErrorResponseMessage errorResponseMessage, string errorMessage, Exception innerException = null)
            : base(errorMessage, innerException)
        {
            if (HttpUtility.IsSuccessfulRequest(httpStatus))
            {
                throw new ArgumentException(
                    message: "The error response message exception should not be used for successful http response messages.",
                    paramName: "httpStatus");
            }

            this.HttpStatus = httpStatus;
            this.ErrorResponseMessage = errorResponseMessage;
        }