void (final MouseEvent e) { updateFreePainters(e); Point point = e.getPoint(); PointInfo pointInfo = getPointInfo(point); if (pointInfo == null) { TextAnnotationGutterProvider provider = getProviderAtPoint(point); String toolTip = null; if (provider == null) { ActiveGutterRenderer lineRenderer = getActiveRendererByMouseEvent(e); if (lineRenderer != null) { toolTip = lineRenderer.getTooltipText(); } } else { final int line = getLineNumAtPoint(point); if (line >= 0) { toolTip = provider.getToolTip(line, myEditor); if (!Objects.equals(toolTip, myLastGutterToolTip)) { TooltipController.getInstance().cancelTooltip(GUTTER_TOOLTIP_GROUP, e, true); myLastGutterToolTip = toolTip; } } } showToolTip(toolTip, point, Balloon.Position.below); } else { computeTooltipInBackground(pointInfo); } updateHover(pointInfo == null ? null : pointInfo.renderer); if (debug()) { repaint(); } }