public bool IsSame(EncodedParameters other)
        {
            if (other == null)
            {
                return(false);
            }

            if (AccessToken != other.AccessToken)
            {
                Logger.Debug("AccessToken mismatch");
                return(false);
            }
            if (Method != other.Method)
            {
                Logger.Debug("Method mismatch");
                return(false);
            }
            if (Host != other.Host)
            {
                Logger.Debug("Host mismatch");
                return(false);
            }
            if (Path != other.Path)
            {
                Logger.Debug("Path mismatch");
                return(false);
            }
            if (BodyHash != other.BodyHash)
            {
                Logger.Debug("BodyHash mismatch");
                return(false);
            }

            if (QueryParameters == null && other.QueryParameters != null)
            {
                Logger.Debug("One QueryParameters is null, the other is not");
                return(false);
            }
            if (QueryParameters != null && other.QueryParameters == null)
            {
                Logger.Debug("One QueryParameters is null, the other is not");
                return(false);
            }
            if (QueryParameters != null && !QueryParameters.IsSame(other.QueryParameters))
            {
                Logger.Debug("QueryParameters mismatch");
                return(false);
            }

            if (RequestHeaders == null && other.RequestHeaders != null)
            {
                Logger.Debug("One RequestHeaders is null, the other is not");
                return(false);
            }
            if (RequestHeaders != null && other.RequestHeaders == null)
            {
                Logger.Debug("One RequestHeaders is null, the other is not");
                return(false);
            }
            if (RequestHeaders != null && !RequestHeaders.IsSame(other.RequestHeaders))
            {
                Logger.Debug("RequestHeaders mismatch");
                return(false);
            }

            return(true);
        }