public override sealed object VisitDirectionExpression(DirectionExpression directionExpression, object data)
 {
     this.BeginVisit(directionExpression);
     object result = this.TrackedVisitDirectionExpression(directionExpression, data);
     this.EndVisit(directionExpression);
     return result;
 }
 public virtual object TrackedVisitDirectionExpression(DirectionExpression directionExpression, object data)
 {
     return base.VisitDirectionExpression(directionExpression, data);
 }
 public virtual object VisitDirectionExpression(DirectionExpression directionExpression, object data)
 {
     throw new global::System.NotImplementedException("DirectionExpression");
 }
 public virtual object VisitDirectionExpression(DirectionExpression directionExpression, object data)
 {
     Debug.Assert((directionExpression != null));
     Debug.Assert((directionExpression.Expression != null));
     return directionExpression.Expression.AcceptVisitor(this, data);
 }
 public virtual object VisitDirectionExpression(DirectionExpression directionExpression, object data)
 {
     Debug.Assert((directionExpression != null));
     Debug.Assert((directionExpression.Expression != null));
     nodeStack.Push(directionExpression.Expression);
     directionExpression.Expression.AcceptVisitor(this, data);
     directionExpression.Expression = ((Expression)(nodeStack.Pop()));
     return null;
 }