void (SettingsEditorFragment<Settings, ?> fragment) { if (!isDefaultSettings() && !fragment.isCanBeHidden() && !fragment.isTag() && StringUtil.isNotEmpty(fragment.getName())) { ReadAction.nonBlocking(() -> { //noinspection unchecked Settings clone = (Settings)mySettings.clone(); fragment.applyEditorTo(clone); return fragment.isInitiallyVisible(clone); }) .finishOnUiThread(ModalityState.defaultModalityState(), visible -> { if (visible) return; JComponent component = fragment.getEditorComponent(); String text = fragment.getName().replace("\u001B", ""); new GotItTooltip("fragment.hidden." + fragment.getId(), ExecutionBundle.message("gotIt.popup.message", text), fragment). withHeader(ExecutionBundle.message("gotIt.popup.title")). show(component, (c, b) -> new Point(GotItComponentBuilder.getArrowShift(), c.getHeight())); }) .expireWith(fragment).submit(NonUrgentExecutor.getInstance()); } }