public virtual bool Visit(Net.Vpc.Upa.Expressions.Expression expression, Net.Vpc.Upa.Expressions.ExpressionTag tag)
 {
     foreach (Net.Vpc.Upa.Expressions.TaggedExpression cc in expression.GetChildren())
     {
         Net.Vpc.Upa.Expressions.Expression cce = cc.GetExpression();
         if (cce != null)
         {
             if (cce is Net.Vpc.Upa.Expressions.UserExpression)
             {
                 Net.Vpc.Upa.Expressions.Expression rr = expressionManager.ParseExpression(cce);
                 rr.Visit(this);
                 expression.SetChild(rr, cc.GetTag());
             }
             else if (cce is Net.Vpc.Upa.Expressions.Var)
             {
                 Net.Vpc.Upa.Expressions.Var v = (Net.Vpc.Upa.Expressions.Var)cce;
                 if (v.GetApplier() == null && v.GetName().Equals("this"))
                 {
                     v.SetName(thisName);
                 }
             }
         }
     }
     return(true);
 }
 public virtual bool Visit(Net.Vpc.Upa.Expressions.Expression expression, Net.Vpc.Upa.Expressions.ExpressionTag tag)
 {
     foreach (Net.Vpc.Upa.Expressions.TaggedExpression cc in expression.GetChildren())
     {
         Net.Vpc.Upa.Expressions.Expression cce = cc.GetExpression();
         if (cce != null)
         {
             if (cce is Net.Vpc.Upa.Expressions.UserExpression)
             {
                 Net.Vpc.Upa.Expressions.UserExpression ucce = (Net.Vpc.Upa.Expressions.UserExpression)cce;
                 Net.Vpc.Upa.Expressions.Expression     expr = expressionManager.ParseExpression(ucce.GetExpression());
                 expr.Visit(new Net.Vpc.Upa.Impl.Uql.Util.UserExpressionParametersMatcherVisitor(ucce));
                 expression.SetChild(expr, cc.GetTag());
             }
         }
     }
     return(true);
 }