public function collectSyncData()
    {
        $data = [
            'id' => $this->id,
            'parentId' => ($this->parentExecution === null) ? null : $this->parentExecution->getId(),
            'processId' => $this->getRootExecution()->getId(),
            'modelId' => $this->model->getId(),
            'state' => $this->state,
            'depth' => $this->getExecutionDepth(),
            'timestamp' => $this->timestamp,
            'variables' => $this->variables,
            'transition' => ($this->transition === null) ? null : (string) $this->transition->getId(),
            'node' => ($this->node === null) ? null : (string) $this->node->getId()
        ];
        
        return $data;
    }