public static void executeProjectChangeAction(boolean synchronous, @NotNull ComponentManager componentManager, @NotNull Runnable task) {
    if (!ApplicationManager.getApplication().isDispatchThread()) {
      TransactionGuard.getInstance().assertWriteSafeContext(ModalityState.defaultModalityState());
    }
    executeOnEdt(synchronous, () -> ApplicationManager.getApplication().runWriteAction(() -> {
      if (!componentManager.isDisposed()) {
        task.run();
      }
    }));
  }
public static void executeProjectChangeAction(boolean synchronous, @NotNull ComponentManager componentManager, @NotNull Runnable task)