*/ private $visitedSteps = []; public function initialize(Workflow $workflow): void { $this->visitedSteps = []; } public function visitNode(Workflow $workflow, WorkflowNode $node): void { $step = $node->getStep(); $this->visitedSteps[$step->getId()] = $step; foreach ($step->getNextSteps() as $nextStep) { $nextStepId = $nextStep->getId(); if (isset($this->visitedSteps[$nextStepId])) { throw Exceptions::workflowStructureNotValid(__('Path join found in workflow graph', 'mailpoet')); } } } public function complete(Workflow $workflow): void { } }