/// <summary>
        /// Returns true if PaymentProduct840SpecificOutput instances are equal
        /// </summary>
        /// <param name="other">Instance of PaymentProduct840SpecificOutput to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(PaymentProduct840SpecificOutput other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     CustomerAccount == other.CustomerAccount ||
                     CustomerAccount != null &&
                     CustomerAccount.Equals(other.CustomerAccount)
                     ) &&
                 (
                     CustomerAddress == other.CustomerAddress ||
                     CustomerAddress != null &&
                     CustomerAddress.Equals(other.CustomerAddress)
                 ) &&
                 (
                     ProtectionEligibility == other.ProtectionEligibility ||
                     ProtectionEligibility != null &&
                     ProtectionEligibility.Equals(other.ProtectionEligibility)
                 ));
        }