anchor.diff:     * If the UrlPattern contains a fragment (#), the handler is always called
      * with the path version of the URL by converting the # to a /.
      */
  -  Future<bool> route(String path, {String prefix: ''}) {
  -    _lastTail = prefix;
  +  Future<bool> route(String path, {String head: ''}) {
  +    _lastHead = head;
       _Route route;
       List matchingRoutes = _routes.values.where(
           (r) => r.path.match(path) != null).toList();
  
positive.code:           route.enter(event);
          }
          if (route.child != null) {
            return route.child.route(match.tail, prefix: prefix);
          }
        }
        return true;
  
negative.code:   }
  
    Future<bool> _processNewRoute(String path, UrlMatch match, _Route route,
                                  String head) {
      var event = new RouteEvent(match.match, match.parameters);
      // before we make this a new current route, leave the old
      return _leaveCurrentRoute(event).then((bool allowNavigation) {
  