@Override
  public void onProjectsLinked(@NotNull Project project,
                               @NotNull ExternalSystemManager<?, ?, ?, ?, ?> manager,
                               @NotNull Collection<? extends ExternalProjectSettings> __) {
    // https://youtrack.jetbrains.com/issue/IDEA-289729
    if (project.isDefault()) {
      return;
    }

    StartupManager startupManager = StartupManager.getInstance(project);
    // show tool window, but only if linked after start-up
    boolean showToolWindow = startupManager.postStartupActivityPassed();
    startupManager.runAfterOpened(() -> {
      ToolWindow toolWindow = getToolWindow(project, manager.getSystemId());
      AbstractExternalSystemSettings<?, ?, ?> settings = manager.getSettingsProvider().fun(project);
      if (toolWindow != null) {
        activate(toolWindow, settings, showToolWindow);
      }
      else {
        AppUIExecutor.onUiThread(ModalityState.nonModal()).expireWith(settings).later().execute(() -> {
          ToolWindowManager.getInstance(settings.getProject()).invokeLater(() -> {
            ToolWindow toolWindow1 = getToolWindow(settings.getProject(), manager.getSystemId());
            if (toolWindow1 != null) {
              activate(toolWindow1, settings, showToolWindow);
            }
          });
        });
      }
    });
  }
@Override
  public void onProjectsLinked(@NotNull Project project,
                               @NotNull ExternalSystemManager<?, ?, ?, ?, ?> manager,
                               @NotNull Collection<? extends ExternalProjectSettings> __)