protected function invokeStep(Step $step, Bootstrap $bootstrap)
    {
        $identifier = $step->getIdentifier();
        try {
            $step($bootstrap);
        } catch (\Throwable $e) {
            throw new StepFailedException($step, $e);
        }
        if (isset($this->steps[$identifier])) {
            foreach ($this->steps[$identifier] as $followingStep) {
                $this->invokeStep($followingStep, $bootstrap);
            }
        }
    }
protected function invokeStep(Step $step, Bootstrap $bootstrap)
    {
        $identifier = $step->getIdentifier();
        try {
            $step($bootstrap);
        } catch (\Throwable $e) {
            throw new StepFailedException($step, $e);
        }
        if (isset($this->steps[$identifier])) {
            foreach ($this->steps[$identifier] as $followingStep) {
                $this->invokeStep($followingStep, $bootstrap);
            }
        }
    }
protected function invokeStep ( Step $ step , Bootstrap $ bootstrap ) { $ identifier = $ step -> getIdentifier ( ) ; try { $ step ( $ bootstrap ) ; } catch ( \ Throwable $ e ) { throw new StepFailedException ( $ step , $ e ) ; } if ( isset ( $ this -> steps [ $ identifier ] ) ) { foreach ( $ this -> steps [ $ identifier ] as $ followingStep ) { $ this -> invokeStep ( $ followingStep , $ bootstrap ) ; } } }
Invokes a single step of this sequence and also invokes all steps registered
to be executed after the given step.

@param Step $step The step to invoke
@param Bootstrap $bootstrap
@throws StepFailedException
@return void
Invokes a single step of this sequence and also invokes all steps registered to be executed after the given step .