@Override
  protected void paintMenuItem(Graphics g, JComponent c,
                               Icon checkIcon, Icon arrowIcon,
                               Color background, Color foreground,
                               int defaultTextIconGap) {
    // Save original graphics font and color
    Font holdf = g.getFont();
    Color holdc = g.getColor();

    JMenuItem mi = (JMenuItem)c;
    g.setFont(mi.getFont());

    Rectangle viewRect = new Rectangle(0, 0, mi.getWidth(), mi.getHeight());
    JBInsets.removeFrom(viewRect, mi.getInsets());

    MenuItemLayoutHelper lh = new MenuItemLayoutHelper(mi, checkIcon,
                                                       arrowIcon, viewRect, defaultTextIconGap, "-",
                                                       //todo[kb] use protected field BasicMenuItemUI.acceleratorDelimiter when we move to java 1.7
                                                       mi.getComponentOrientation().isLeftToRight(), mi.getFont(),
                                                       acceleratorFont, MenuItemLayoutHelper.useCheckAndArrow(menuItem),
                                                       getPropertyPrefix());
    MenuItemLayoutHelper.LayoutResult lr = lh.layoutMenuItem();

    paintBackground(g, mi, background);
    paintCheckIcon(g, lh, lr, holdc, foreground);
    paintIcon(g, lh, lr, holdc);
    g.setColor(foreground);
    UISettings.setupAntialiasing(g);
    paintText(g, lh, lr);
    paintAccText(g, lh, lr);
    paintArrowIcon(g, lh, lr, foreground);

    // Restore original graphics font and color
    g.setColor(holdc);
    g.setFont(holdf);
  }
@Override
  protected void paintMenuItem(Graphics g, JComponent c,
                               Icon checkIcon, Icon arrowIcon,
                               Color background, Color foreground,
                               int defaultTextIconGap)