public override HqlTreeNode BuildHql(
        MethodInfo method,
        System.Linq.Expressions.Expression targetObject,
        ReadOnlyCollection <System.Linq.Expressions.Expression> arguments,
        HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
    {
        // Is there a better way to do this?
        var               factory        = new ASTFactory(new ASTTreeAdaptor());
        HqlTreeNode       escapeCharNode = visitor.Visit(arguments[2]).AsExpression();
        var               escapeNode     = new HqlEscape(factory, escapeCharNode);
        HqlLikeWithEscape likeClauseNode =
            new HqlLikeWithEscape(
                factory,
                visitor.Visit(arguments[0]).AsExpression(),
                visitor.Visit(arguments[1]).AsExpression(),
                escapeNode);

        return(likeClauseNode);
    }
 public HqlLikeWithEscape(IASTFactory factory, HqlExpression lhs, HqlExpression rhs, HqlEscape escape)
     : base(HqlSqlWalker.LIKE, "like", factory, lhs, rhs, escape)
 {
 }