private static List<VirtualFile> getFileSystemRoots() {
    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();
  }
private static List<VirtualFile> getFileSystemRoots()