public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

            if (obj is null || GetType() != obj.GetType())
            {
                return(false);
            }

            var other = (CollectionNotEmptyExpression)obj;

            return(TargetCollection.Equals(other.TargetCollection) && Equals(Filter, other.Filter));
        }