void (boolean now, @Nullable Runnable onHidden) { if (isShowing()) { if (now || hyperlinkListener == null || !closeWithDelay) { cellPopup.cancel(); cellPopup = null; cellRect = null; if (onHidden != null) { onHidden.run(); } } else if (!isClosing) { isClosing = true; popupAlarm.addRequest(() -> { isClosing = false; if (!isOverPopup) { hidePopup(true, onHidden); } }, Registry.intValue("ide.tooltip.initialDelay.highlighter")); } } else if (onHidden != null) { onHidden.run(); } }