public override int GetHashCode()
        {
            int hashCode = 1904387422;

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

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

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

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

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

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

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

            return(obj is CatalogItemModifierListInfo other &&
                   ((ModifierListId == null && other.ModifierListId == null) || (ModifierListId?.Equals(other.ModifierListId) == true)) &&
                   ((ModifierOverrides == null && other.ModifierOverrides == null) || (ModifierOverrides?.Equals(other.ModifierOverrides) == true)) &&
                   ((MinSelectedModifiers == null && other.MinSelectedModifiers == null) || (MinSelectedModifiers?.Equals(other.MinSelectedModifiers) == true)) &&
                   ((MaxSelectedModifiers == null && other.MaxSelectedModifiers == null) || (MaxSelectedModifiers?.Equals(other.MaxSelectedModifiers) == true)) &&
                   ((Enabled == null && other.Enabled == null) || (Enabled?.Equals(other.Enabled) == true)));
        }