public void Accept <C>(C context, IExprVisitor <C> visitor)
 {
     visitor.BeforeVisit(context, this);
     this.OnAccept(context, visitor);
 }
 public T Accept <C, T>(C context, IExprVisitor <C, T> visitor)
 {
     visitor.BeforeVisit(context, this);
     return(this.OnAccept(context, visitor));
 }