code: function(manager, path) {
      if (get(this, 'isLeafRoute')) { return; }
  
      var resolvedStates = this.resolvePath(manager, path),
          hasPromises = resolvedStates.some(function(s) { return get(s, 'hasPromise'); });
  
      function runTransition() {
        resolvedStates.forEach(function(rs) { rs.transition(); });
      }
  
      if (hasPromises) {
        manager.transitionTo('loading');
  
        Ember.assert('Loading state should be the child of a route', Ember.Routable.detect(get(manager, 'currentState.parentState')));
        Ember.assert('Loading state should not be a route', !Ember.Routable.detect(get(manager, 'currentState')));
  
        manager.handleStatePromises(resolvedStates, runTransition);
      } else {
        runTransition();
      }
    }
docs: @private
  
  Once `unroute` has finished unwinding, `routePath` will be called
  with the remainder of the route.
  
  For example, if you were in the /posts/1/comments state, and you
  moved into the /posts/2/comments state, `routePath` will be called
  on the state whose path is `/posts` with the path `/2/comments`.