/**
  * @param PageModel $currentPage
  *
  * @return NavigationItem[]
  *
  * @throws \RuntimeException
  */
 public function findNavigationItems(PageModel $currentPage)
 {
     $rootPages = $this->pageFinder->findRootPagesForPage($currentPage, false, false);
     $navigationItems = $this->createNavigationItemsForRootPages($rootPages);
     $this->setTargetPageForNavigationItems($navigationItems, $rootPages, $this->pageFinder->findAssociatedForPage($currentPage));
     foreach ($navigationItems as $k => $item) {
         if (!$item->hasTargetPage()) {
             $item->setTargetPage($this->pageFinder->findAssociatedParentForLanguage($currentPage, $item->getLanguageTag()), false);
         }
     }
     $this->languageText->orderNavigationItems($navigationItems);
     return array_values($navigationItems);
 }