public function accept(Ast\Visitor $visitor) { if ($visitor->visitEnter($this)) { /** * @var Sequence $sequence */ foreach ($this as $sequence) { $sequence->accept($visitor); } return $visitor->visitLeave($this); } return NULL; }