anchor.diff:          final file = _files[index];
           if (file.isDirectory()) {
             final directory = file.asDirectory();
  -          return Directory(directory, onTap: () => _browseTo(directory.path));
  +          return Directory(directory, onTap: () => widget.onDirectoryTapped(directory));
           } else {
             assert(file.isSong());
             return Song(file.asSong());
  
positive.code: }
  
  class _BrowserState extends State<Browser> with AutomaticKeepAliveClientMixin {
    List<dto.CollectionFile> _files;
  
    @override
    void initState() {
      super.initState();
      _browseTo('');
    }
  
    _browseTo(String path) async {
  
negative.code:       },
      );
    }
  }
  
  final _pathSeparatorRegExp = RegExp(r'[/\\]');
  