     if shouldPushState
       method = if replaceState then 'replaceState' else 'pushState'
       history[method] objRef, path, path
-
-    for edge in frag
-      if node[edge]
-        node = node[edge]
-      else
-        param = node[':']
-        if param?
-          params[param.name] = edge
-          node = param
-        else @handleNotFound frag.join '/'
 
     routeInfo = {params, query}
     @emit 'RouteInfoHandled', {params, query, path}

    node = @tree
    params = {}

    frag = frag.split '/'
    frag.shift() # first edge is garbage like '' or '#!'

    frag = frag.filter Boolean

    path = "/#{frag.join '/'}"

    qs = @utils.stringifyQuery query
    path += "?#{qs}"  if qs.length

    if not suppressListeners and shouldPushState and not replaceState and path is @currentPath
      @emit 'AlreadyHere', path

    userRoute = userRoute.slice 1  if (userRoute.indexOf '!') is 0
    @visitedRoutes.push userRoute  if @visitedRoutes.last isnt userRoute

    [frags, query...] = (userRoute ? @getDefaultRoute?() ? '/').split '?'

    query = @utils.parseQuery query.join '&'

