src/Behavior/NestedProcessBehavior.php
public function execute(Execution $execution)
    {
        $nodes = $this->process->findInitialNodes();
        
        if (count($nodes) !== 1) {
            throw new \RuntimeException(sprintf('No single start node found in process "%s"', $this->process->getTitle()));
        }
        
        $startNode = array_shift($nodes);
        
        $sub = $execution->createNestedExecution($this->process, $startNode, true, $this->isolateScope);
        
        foreach ($this->inputs as $target => $source) {
            if ($execution->hasVariable($source)) {
                $sub->setVariable($target, $execution->getVariable($source));
            }
        }
        
        $execution->waitForSignal();
        
        $sub->execute($startNode);
    }
public function execute(Execution $execution)
    {
        $nodes = $this->process->findInitialNodes();
        
        if (count($nodes) !== 1) {
            throw new \RuntimeException(sprintf('No single start node found in process "%s"', $this->process->getTitle()));
        }
        
        $startNode = array_shift($nodes);
        
        $sub = $execution->createNestedExecution($this->process, $startNode, true, $this->isolateScope);
        
        foreach ($this->inputs as $target => $source) {
            if ($execution->hasVariable($source)) {
                $sub->setVariable($target, $execution->getVariable($source));
            }
        }
        
        $execution->waitForSignal();
        
        $sub->execute($startNode);
    }
{@inheritdoc}