private Cursor updateCursorAtMousePointer(@NotNull MouseEvent e) {
    FoldRegion foldingAtCursor = findFoldingAnchorAt(e.getX(), e.getY());
    setActiveFoldRegions(getGroupRegions(foldingAtCursor));

    GutterIconRenderer renderer = getGutterRenderer(e);
    if (renderer != null) {
      if (renderer.isNavigateAction()) {
        return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
      }
    }

    ActiveGutterRenderer lineRenderer = getActiveRendererByMouseEvent(e);
    if (lineRenderer != null) {
      return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
    }

    TextAnnotationGutterProvider provider = getProviderAtPoint(e.getPoint());
    if (provider != null) {
      EditorGutterAction action = myProviderToListener.get(provider);
      if (action != null) {
        int line = getLineNumAtPoint(e.getPoint());
        if (line >= 0) {
          return action.getCursor(line);
        }
      }
    }

    Object contextMenu = getClientProperty("line.number.hover.icon.context.menu");
    if (contextMenu instanceof ActionGroup) {
      return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
    }

    if (foldingAtCursor != null) {
      return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
    }

    return Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
  }
private Cursor updateCursorAtMousePointer(@NotNull MouseEvent e)