code: protected function match(Request $request)
  	{
  		foreach ($this->routes as $route)
  		{
  			if ($route->method() === $request->method() && $route->match($request->url()))
  			{
  				if ($action = $route->action())
  				{
  					try
  					{
  						$response = $action($request, $route->args());
  						if ($response !== false) return $response;
  					}
  					catch (AbortRouteException $abort)
  					{
  						return $abort->response();
  					}
  				}
  				else
  					// Match found but no action to perform
  					return null;
  			}
  		}
  
  		// No match found
  		return false;
  	}
docs: Return response of first route that matches, false otherwise
  
  If a route action returns false, following routes have a chance at matching
  After the first match the function returns. In case of possible multiple matches
  the route declared first is taken as valid (too expensive to check match length).
  Pay attention to "greedy" routes (with + or *) can shadow other routes.
  
  @param Request $request request to test
  
  @return Response|bool