@Override
  public final void paintIcon(Component c, Graphics g, int x, int y) {
    Graphics2D g2d = g instanceof Graphics2D ? (Graphics2D)g : null;
    getRealIcon(ScaleContext.create(g2d)).paintIcon(c, g, x, y);
  }
@Override
  public final void paintIcon(Component c, Graphics g, int x, int y)