List<LookupFile> (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(); } }