public override int GetHashCode()
        {
            int hashCode = -1326255280;

            if (Option != null)
            {
                hashCode += Option.GetHashCode();
            }

            if (EligibleForAutoAmounts != null)
            {
                hashCode += EligibleForAutoAmounts.GetHashCode();
            }

            if (Amounts != null)
            {
                hashCode += Amounts.GetHashCode();
            }

            return(hashCode);
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj == this)
            {
                return(true);
            }

            return(obj is CatalogQuickAmountsSettings other &&
                   ((Option == null && other.Option == null) || (Option?.Equals(other.Option) == true)) &&
                   ((EligibleForAutoAmounts == null && other.EligibleForAutoAmounts == null) || (EligibleForAutoAmounts?.Equals(other.EligibleForAutoAmounts) == true)) &&
                   ((Amounts == null && other.Amounts == null) || (Amounts?.Equals(other.Amounts) == true)));
        }
 protected void ToString(List <string> toStringOutput)
 {
     toStringOutput.Add($"Option = {(Option == null ? "null" : Option.ToString())}");
     toStringOutput.Add($"EligibleForAutoAmounts = {(EligibleForAutoAmounts == null ? "null" : EligibleForAutoAmounts.ToString())}");
     toStringOutput.Add($"Amounts = {(Amounts == null ? "null" : $"[{ string.Join(", ", Amounts)} ]")}");
 }