private @Nullable IconHolder getIconHolder(@NotNull JTextComponent component, int x, int y) {
    boolean invalid = false;
    boolean repaint = false;
    IconHolder result = null;
    for (IconHolder holder : icons.values()) {
      boolean hovered = component.isEnabled() && holder.bounds.contains(x, y);
      if (ExperimentalUI.isNewUI()) {
        repaint |= hovered != holder.hovered;
      }
      holder.hovered = hovered;
      if (holder.hovered) result = holder;
      Icon icon = holder.extension.getIcon(holder.hovered);
      if (holder.icon != icon) {
        if (holder.setIcon(icon)) invalid = true;
        repaint = true;
      }
    }
    if (repaint) repaint(invalid);
    return result;
  }
private @Nullable IconHolder getIconHolder(@NotNull JTextComponent component, int x, int y)