@Override
    // Avoid usage of cached icons in paintSelectionAwareIcon, because the icon can change background
    protected void paintIcon(@NotNull Graphics g, @NotNull Icon icon, int offset) {
      Rectangle area = computePaintArea();
      icon.paintIcon(this, g, offset, area.y + (area.height - icon.getIconHeight()) / 2);
    }
@Override
    // Avoid usage of cached icons in paintSelectionAwareIcon, because the icon can change background
    protected void paintIcon(@NotNull Graphics g, @NotNull Icon icon, int offset)