@Override
  public void updateRecentProjectsMenu() {
    final var stackTraceHolder = new Throwable("Asynchronously launched from here");

    ForkJoinPool.commonPool().execute(() -> {
      try {
        final var wsi = wsiFuture.get(30, TimeUnit.SECONDS);
        if (wsi == null) {
          return;
        }

        final List<AnAction> recentProjectActions = RecentProjectListActionProvider.getInstance().getActions(false);
        final @NotNull JumpTask @NotNull [] jumpTasks = convertToJumpTasks(recentProjectActions);

        wsi.postShellTask((final @NotNull WinShellIntegration.ShellContext ctx) -> {
          ctx.clearRecentTasksList();
          ctx.setRecentTasksList(jumpTasks);
        }).get();
      }
      catch (final InterruptedException e) {
        e.addSuppressed(stackTraceHolder);
        LOG.warn(e);
      }
      catch (final Throwable e) {
        e.addSuppressed(stackTraceHolder);
        LOG.error(e);
      }
    });
  }
@Override
  public void updateRecentProjectsMenu()