public bool Match(CodeExpression expression)
        {
            WildCardSearchExpression other = expression as WildCardSearchExpression;

            return((other != null) &&
                   RuleExpressionWalker.Match(_toLowerMethodInvocationExpression, other._toLowerMethodInvocationExpression) &&
                   RuleExpressionWalker.Match(_toStringMethodInvocationExpression, other._toStringMethodInvocationExpression) &&
                   RuleExpressionWalker.Match(_regexMatchMethodInvocationExpression, other._regexMatchMethodInvocationExpression));
        }
        public CodeExpression Clone()
        {
            WildCardSearchExpression result = new WildCardSearchExpression();

            result._toStringMethodInvocationExpression   = RuleExpressionWalker.Clone(_toStringMethodInvocationExpression);
            result._toLowerMethodInvocationExpression    = RuleExpressionWalker.Clone(_toLowerMethodInvocationExpression);
            result._regexMatchMethodInvocationExpression = RuleExpressionWalker.Clone(_regexMatchMethodInvocationExpression);

            return(result);
        }