@Override
    public List<LookupFile> getChildren(LookupFilter filter) {
      try {
        List<LookupFile> result = new ArrayList<>();

        if (this == TOP_ALL || this == INCOMPLETE_DRIVES) {
          for (Path root : FileSystems.getDefault().getRootDirectories()) {
            IoFile file = new IoFile(root);
            if (filter.isAccepted(file)) {
              result.add(file);
            }
          }
        }

        if (this != INCOMPLETE_DRIVES) {
          if (WSLUtil.isSystemCompatible()) {
            List<WSLDistribution> vms = WslDistributionManager.getInstance().getInstalledDistributionsFuture().get(200, TimeUnit.MILLISECONDS);
            for (WSLDistribution vm : vms) {
              IoFile file = new IoFile(vm.getUNCRootPath());
              if (filter.isAccepted(file)) {
                result.add(file);
              }
            }
          }
        }

        result.sort((o1, o2) -> StringUtil.compare(o1.getName(), o2.getName(), false));

        return result;
      }
      catch (Exception ignore) {
        return List.of();
      }
    }
@Override
    public List<LookupFile> getChildren(LookupFilter filter)