List<VirtualFile> () { LocalFileSystem localFileSystem = LocalFileSystem.getInstance(); StreamEx<Path> paths = StreamEx.of(FileSystems.getDefault().getRootDirectories().spliterator()); if (WSLUtil.isSystemCompatible() && Experiments.getInstance().isFeatureEnabled("wsl.p9.show.roots.in.file.chooser")) { CompletableFuture<List<WSLDistribution>> future = WslDistributionManager.getInstance().getInstalledDistributionsFuture(); try { List<WSLDistribution> distributions = future.get(200, TimeUnit.MILLISECONDS); paths = paths.append(StreamEx.of(distributions).map(WSLDistribution::getUNCRootPath)); } catch (Exception e) { LOG.info("Cannot fetch WSL distributions", e); } } return paths.map(path -> localFileSystem.findFileByNioFile(path)).nonNull().toList(); }