private static void runFinalTasks(
    @NotNull Project project,
    @Nullable String projectPath,
    @NotNull List<? extends Runnable> tasks
  ) {
    var topic = project.getMessageBus()
      .syncPublisher(ProjectDataImportListener.TOPIC);

    topic.onFinalTasksStarted(projectPath);
    try {
      ContainerUtil.reverse(tasks).forEach(Runnable::run);
    }
    catch (Exception e) {
      LOG.warn(e);
    }
    finally {
      topic.onFinalTasksFinished(projectPath);
    }
  }
private static void runFinalTasks(
    @NotNull Project project,
    @Nullable String projectPath,
    @NotNull List<? extends Runnable> tasks
  )