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)); }