public @NotNull CompletableFuture<List<WSLDistribution>> getInstalledDistributionsFuture() {
    if (!isAvailable()) return CompletableFuture.completedFuture(List.of());
    CachedDistributions cachedDistributions = myInstalledDistributions;
    if (cachedDistributions != null && cachedDistributions.isUpToDate()) {
      return CompletableFuture.completedFuture(cachedDistributions.myInstalledDistributions);
    }
    return CompletableFuture.supplyAsync(this::getInstalledDistributions, AppExecutorUtil.getAppExecutorService());
  }
public @NotNull CompletableFuture<List<WSLDistribution>> getInstalledDistributionsFuture()