public function addPagerNavigationRelations(PagerfantaInterface $pager, $route, $routeParameters = array(), $pageParameterName = null, $limitParameterName = null)
 {
     if (null === $pageParameterName) {
         $pageParameterName = $this->defaultPageParameterName;
     }
     if (null === $limitParameterName) {
         $limitParameterName = $this->defaultLimitParameterName;
     }
     if (!isset($routeParameters[$pageParameterName])) {
         $routeParameters[$pageParameterName] = $pager->getCurrentPage();
     }
     if (!isset($routeParameters[$limitParameterName])) {
         $routeParameters[$limitParameterName] = $pager->getMaxPerPage();
     }
     $this->add('self', array('route' => $route, 'parameters' => $routeParameters));
     $this->add('first', array('route' => $route, 'parameters' => array_merge($routeParameters, array($pageParameterName => '1'))));
     $this->add('last', array('route' => $route, 'parameters' => array_merge($routeParameters, array($pageParameterName => $pager->getNbPages() > 0 ? $pager->getNbPages() : 1))));
     if ($pager->hasPreviousPage()) {
         $this->add('previous', array('route' => $route, 'parameters' => array_merge($routeParameters, array($pageParameterName => $pager->getPreviousPage()))));
     }
     if ($pager->hasNextPage()) {
         $this->add('next', array('route' => $route, 'parameters' => array_merge($routeParameters, array($pageParameterName => $pager->getNextPage()))));
     }
 }