public override void Accept(INodeVisitor visitor) { Condition.Accept(visitor); visitor.VisitAfterCondition(this); ThenBranch.Accept(visitor); visitor.VisitAfterThenBranch(this); if (ElseBranch != null) { ElseBranch.Accept(visitor); } visitor.Exit(this); }