private void hidePopup(boolean now) {
    if (popup != null && popup.isVisible()) {
      if (now || hyperlinkListener == null) {
        popup.cancel();
        popup = null;
      } else {
        popupAlarm.addRequest(() -> {
          if (!isOverPopup || hyperlinkListener == null) {
            hidePopup(true);
          }
        }, Registry.intValue("ide.tooltip.initialDelay.highlighter"));
      }
    }
  }
private void hidePopup(boolean now)