/**
  * Gets a route by name.
  *
  * @param string $name The route name
  *
  * @return Route|null A Route instance or null when not found
  */
 public function get($name)
 {
     try {
         return $this->provider->getRouteByName($name);
     } catch (RouteNotFoundException $e) {
         return null;
     }
 }
 /**
  * {@inheritdoc}
  */
 public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)
 {
     if ($name instanceof SymfonyRoute) {
         $route = $name;
     } elseif (null === ($route = $this->provider->getRouteByName($name))) {
         throw new RouteNotFoundException(sprintf('Route "%s" does not exist.', $name));
     }
     // the Route has a cache of its own and is not recompiled as long as it does not get modified
     $compiledRoute = $route->compile();
     $hostTokens = $compiledRoute->getHostTokens();
     $debug_message = $this->getRouteDebugMessage($name);
     return $this->doGenerate($compiledRoute->getVariables(), $route->getDefaults(), $route->getRequirements(), $compiledRoute->getTokens(), $parameters, $debug_message, $referenceType, $hostTokens);
 }