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

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

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

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

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

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

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

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

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

            return(obj is CustomAttributeFilter other &&
                   ((CustomAttributeDefinitionId == null && other.CustomAttributeDefinitionId == null) || (CustomAttributeDefinitionId?.Equals(other.CustomAttributeDefinitionId) == true)) &&
                   ((Key == null && other.Key == null) || (Key?.Equals(other.Key) == true)) &&
                   ((StringFilter == null && other.StringFilter == null) || (StringFilter?.Equals(other.StringFilter) == true)) &&
                   ((NumberFilter == null && other.NumberFilter == null) || (NumberFilter?.Equals(other.NumberFilter) == true)) &&
                   ((SelectionUidsFilter == null && other.SelectionUidsFilter == null) || (SelectionUidsFilter?.Equals(other.SelectionUidsFilter) == true)) &&
                   ((BoolFilter == null && other.BoolFilter == null) || (BoolFilter?.Equals(other.BoolFilter) == true)));
        }