public override void Accept(IExpressionVisitor4 visitor)
 {
     visitor.Visit(this); // double dispatch
 }
 public override void Accept(IExpressionVisitor4 visitor)
 {
     visitor.Visit(this);
 }
 public abstract void Accept(IExpressionVisitor4 visitor);