/// <summary>
        /// Check this is equal to other LegacyAddress
        /// </summary>
        /// <param name="other">reference addressed to be checked with this</param>
        /// <returns>true if this is equal to other</returns>
        bool Equals(LegacyAddress other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (!ignoreMachineName && !other.machineLowerCased.Equals(machineLowerCased))
            {
                return(false);
            }

            return(other.queueLowerCased.Equals(queueLowerCased));
        }
        /// <summary>
        /// Check this is equal to other LegacyAddress
        /// </summary>
        /// <param name="other">reference addressed to be checked with this</param>
        /// <returns>true if this is equal to other</returns>
        bool Equals(LegacyAddress other)
        {
            if (ReferenceEquals(null, other)) return false;
            if (ReferenceEquals(this, other)) return true;

            if (!ignoreMachineName && !other.machineLowerCased.Equals(machineLowerCased))
                return false;

            return other.queueLowerCased.Equals(queueLowerCased);
        }