anchor.diff:      useAsDefault: true,
     );
   
  -  final String componentName = '$ParentComponent';
  -  final List<String> lifecycleLog;
     final List<RouteDefinition> routes = [
       FirstChildComponent.routeDefinition,
       SecondChildComponent.routeDefinition,
     ];
   
  -  ParentComponent(@Inject(lifecycleLogToken) this.lifecycleLog);
  +  ParentComponent(
  +    @instanceIdsToken Map<String, int> instanceIds,
  +    @lifecycleLogToken List<String> lifecycleLog,
  +  ) : super('$ParentComponent', instanceIds, lifecycleLog);
   }
   
   @Component(
  
positive.code:     final log = fixture.assertOnlyInstance.lifecycleLog;
      final router = fixture.assertOnlyInstance.router;
      expect(log, [
        '$FirstParentComponent.ngOnInit',
        '$FirstChildComponent.ngOnInit',
        '$FirstParentComponent.canActivate',
        '$FirstChildComponent.canActivate',
        '$FirstParentComponent.onActivate',
        '$FirstChildComponent.onActivate',
      ]);
      log.clear();
      expect(await router.navigate('/second-parent/second-child'),
          NavigationResult.SUCCESS);
      expect(log, [
        '$FirstParentComponent.canNavigate',
        '$FirstChildComponent.canNavigate',
        '$SecondParentComponent.ngOnInit',
        '$SecondChildComponent.ngOnInit',
        '$FirstParentComponent.canDeactivate',
        '$FirstChildComponent.canDeactivate',
        '$SecondParentComponent.canActivate',
        '$SecondChildComponent.canActivate',
        '$FirstParentComponent.onDeactivate',
        '$FirstChildComponent.onDeactivate',
        '$FirstParentComponent.canReuse',
        '$FirstChildComponent.ngOnDestroy',
        '$FirstParentComponent.ngOnDestroy',
        '$SecondParentComponent.onActivate',
        '$SecondChildComponent.onActivate',
      ]);
    });
  
  
negative.code:     SecondChildComponent.routeDefinition,
    ];
  
    TestNavigateToSibling(@lifecycleLogToken this.lifecycleLog, this.router);
  }
  
  @Component(
  