anchor.diff:    ) async {
       if (!serviceManager.hasConnection) return;
       await _customPubRootDirectoryBusyTracker(() async {
  -      await inspectorService.removePubRootDirectories(pubRootDirectories);
  +      final localInspectorService = _inspectorService;
  +      if (localInspectorService == null) return;
  +
  +      await localInspectorService.removePubRootDirectories(pubRootDirectories);
         await _refreshPubRootDirectoriesFromService();
       });
     }
   
     Future<void> _refreshPubRootDirectoriesFromService() async {
       await _customPubRootDirectoryBusyTracker(() async {
  +      final localInspectorService = _inspectorService;
  +      if (localInspectorService == null) return;
  +
         final freshPubRootDirectories =
  -          await inspectorService.getPubRootDirectories();
  +          await localInspectorService.getPubRootDirectories();
         if (freshPubRootDirectories != null) {
           final newSet = Set<String>.from(freshPubRootDirectories);
           final oldSet = Set<String>.from(_customPubRootDirectories.value);
  
positive.code:   ) async {
      if (!serviceManager.hasConnection) return;
      await _customPubRootDirectoryBusyTracker(() async {
        await inspectorService.addPubRootDirectories(pubRootDirectories);
        await _refreshPubRootDirectoriesFromService();
      });
  
negative.code:       _customPubRootDirectories;
    ValueListenable<bool> get isRefreshingCustomPubRootDirectories =>
        _customPubRootDirectoriesAreBusy;
    InspectorService? get _inspectorService =>
        serviceManager.inspectorService as InspectorService?;
  
    final _hoverEvalMode = ValueNotifier<bool>(false);
    final _customPubRootDirectories = ListValueNotifier<String>([]);
  