/** * @param RepositoryInterface $repository * @return NodeInterface */ public function createTree(RepositoryInterface $repository) { $builder = new TreeBuilder(); $rootNode = $builder->root('simpspector', 'array', new NodeBuilder()); $children = $rootNode->children(); foreach ($repository->all() as $gadget) { $gadgetNode = $children->arrayNode($gadget->getName()); $gadget->configure($gadgetNode); } return $builder->buildTree(); }