protected function rerun() {

        $rerunNextStep = empty($this->data['rerunStep']) ? 1 : intval($this->data['rerunStep']) + 1;

        if($rerunNextStep <= $this->maxStepOfRerun) {
            JobFabric::getInstance()->createJob(
                (new TypedBuilder())
                    ->setType($this->type)
                    ->setData($this->data)
                    ->setRerunStep($rerunNextStep)
                    ->setStart(time() + $this->getFibonacciDelay($rerunNextStep))
                    ->setOriginal($this->_id)
            );
        }
    }