public function startProcessInstance(ProcessDefinition $def, $businessKey = null, array $variables = [])
    {
        $startNode = $def->findNoneStartEvent();
        
        $id = $this->engine->executeCommand(new StartProcessInstanceCommand($def, $startNode, $businessKey, $variables));
        
        return $this->engine->getHistoryService()->createHistoricProcessInstanceQuery()->processInstanceId($id)->findOne();
    }