public function generateTree()
    {
        $tree = new \bultonFr\DependencyTree\DependencyTree;

        foreach ($this->modules as $moduleName => $module) {
            $priority = 0;
            $depends  = [];

            $loadInfos = $module->getLoadInfos();
            if (property_exists($loadInfos, 'priority')) {
                $priority = (int) $loadInfos->priority;
            }
            if (property_exists($loadInfos, 'require')) {
                $depends = (array) $loadInfos->require;
            }

            $tree->addDependency($moduleName, $priority, $depends);
        }

        $this->loadTree = $tree->generateTree();
    }