private function initPageTree(Language $language, Page $page = null, Template $template = null) { $dataManager = new DataManager($this->factoryRepository); $dataManager->fromEntities($language, $page); $pageBlocks = clone $this->pageBlocks; if (null !== $page) { $pageBlocks->refresh($language->getId(), $page->getId()); } $assetsManager = clone $this->assetsManager; $assetsManager->setPageBlocks($pageBlocks); $pageTree = new PageTree($assetsManager, null, $dataManager); $pageTree->productionMode(true)->setUp($this->theme, clone $this->templateManager, $pageBlocks, $template); return $pageTree; }