anchor.diff:              key: ValueKey('wishlist-${state.pathParameters['wishlistId']}'),
               child: WishlistScreen(
                 wishlist: _appState.wishlists.firstWhere(
  -                (wishlist) => wishlist.id == state.pathParameters['wishlistId'],
  +                (wishlist) =>
  +                    wishlist.id == beamState.pathParameters['wishlistId'],
                   orElse: () {
                     final wishlist =
                         Wishlist(state.pathParameters['wishlistId']!);
  
positive.code: }
  
  class WishlistLocation extends BeamLocation {
    WishlistLocation(AppState appState, BeamState state)
        : _appState = appState,
          super(state) {
      _appState.addListener(
        () => update((state) {
          var selectedWishlist = _appState.selectedWishlist;
          if (selectedWishlist != null) {
            return state.copyWith(
                pathBlueprintSegments: ['wishlist', ':wishlistId'],
                pathParameters: {'wishlistId': selectedWishlist.id});
          }
          return state
              .copyWith(pathBlueprintSegments: ['wishlist'], pathParameters: {});
        }),
      );
  
    }
  
    final AppState _appState;
  
negative.code:     return MaterialApp.router(
        title: 'Wishlist App',
        routerDelegate: BeamerRouterDelegate(
          transitionDelegate: NoAnimationTransitionDelegate(),
          locationBuilder: (beamState) => WishlistLocation(_appState, beamState),
        ),
        routeInformationParser: BeamerRouteInformationParser(),
      );
  