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

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

            var other = (EqualsAnyOfExpression)obj;

            return(TargetAttribute.Equals(other.TargetAttribute) && Constants.SequenceEqual(other.Constants));
        }
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

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

            var other = (MatchTextExpression)obj;

            return(TargetAttribute.Equals(other.TargetAttribute) && TextValue.Equals(other.TextValue) && MatchKind == other.MatchKind);
        }