ivate static @NotNull Icon paintHover(@NotNull Graphics g, @NotNull Icon icon, @NotNull BaseButtonBehavior button, int x, int y) {
    if (ExperimentalUI.isNewUI()) {
      if (button.isHovered()) {
        Graphics2D g2 = (Graphics2D)g.create();
        try {
          g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
          g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);

          float arc = DarculaUIUtil.BUTTON_ARC.getFloat();
          float gap = JBUIScale.scale(2);
          Shape shape =
            new RoundRectangle2D.Float(x - gap, y - gap, icon.getIconWidth() + 2 * gap, icon.getIconHeight() + 2 * gap, arc, arc);

          g2.setColor(JBUI.CurrentTheme.Notification.ICON_HOVER_BACKGROUND);
          g2.fill(shape);

          g2.setColor(JBUI.CurrentTheme.ActionButton.hoverBorder());
          g2.draw(shape);
        }
        finally {
          g2.dispose();
        }
      }
      if (ColorUtil.isDark(JBColor.namedColor("MainToolbar.background")) && JBColor.isBright() && icon instanceof CachedImageIcon) {
        icon = CustomIconUtilKt.loadIconCustomVersionOrScale((CachedImageIcon)icon, 16, true);
      }
    }
    return icon;
  }


ivate static @NotNull Icon paintHover(@NotNull Graphics g, @NotNull Icon icon, @NotNull BaseButtonBehavior button, int x, int y) {