/**
  * Return array of siblings for menu generation
  *
  * @param Page $page
  * @param Router $router
  * @param bool $with_children
  * @return array
  */
 public function getMenu(Page $page, Router $router, $with_children = false)
 {
     $siblings = $page->getSiblings(true, $this->getShowMenuCriteria());
     $menu = array();
     /** @var Page $sibling */
     foreach ($siblings as $sibling) {
         $sibling->setLocale($page->getLocale());
         $item = array('page' => $sibling, 'title' => $sibling->getTitle(), 'link' => $this->generatePageLink($sibling, $router), 'active' => $this->isPageActive($sibling), 'subactive' => $this->isPageSubActive($sibling));
         if ($with_children) {
             $item['children'] = $this->getSubMenu($sibling, $router);
         }
         $menu[] = $item;
     }
     return $menu;
 }