void (int flags, boolean restart, String @NotNull [] beforeRestart, int exitCode) { if (!BitUtil.isSet(flags, FORCE_EXIT) && (myExitInProgress || (!BitUtil.isSet(flags, EXIT_CONFIRMED) && getDefaultModalityState() != ModalityState.nonModal()))) { return; } myExitInProgress = true; if (isDispatchThread()) { doExit(flags, restart, beforeRestart, exitCode); } else { invokeLater(() -> doExit(flags, restart, beforeRestart, exitCode), ModalityState.nonModal()); } }