anchor.diff:      return '[Route: $name]';
     }
   
  +  /**
  +   * Returns a URL for this route. The tail (url generated by the child path)
  +   * will be passes to the UrlMatcher to be properly appended in the
  +   * right place.
  +   */
     String reverse(String tail) {
       return path.reverse(parameters: _lastEvent.parameters, tail: tail);
     }
  -
  -  void renotify() {
  -    print('$parent ${parent._currentRoute} $this');
  -    if (parent != null && identical(parent._currentRoute, this)) {
  -      print('renotify..... YES');
  -      _onRouteController.add(_lastEvent);
  -    } else {
  -      print('renotify..... NO');
  -    }
  -  }
   }
   
  +/**
  + * Route enter or leave event.
  + */
   class RouteEvent {
     final String path;
     final Map parameters;
  
positive.code: 
    Future<bool> _processNewRoute(Route base, String path, UrlMatch match,
        Route newRoute) {
      var event = new RouteEvent(match.match, match.parameters);
      // before we make this a new current route, leave the old
      return _leaveCurrentRoute(base, event).then((bool allowNavigation) {
  
negative.code:   final Window _window;
    final Route root;
    bool _listen = false;
    String _lastRoute;
  
    /**
     * [useFragment] determines whether this Router uses pure paths with
  