public class com.apple.laf.AquaMenuPainter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.apple.laf.AquaMenuPainter
  super_class: java.lang.Object
{
  static final byte kShiftGlyph;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final byte kOptionGlyph;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final byte kControlGlyph;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final byte kPencilGlyph;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  static final byte kCommandMark;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  static final char kUBlackDiamond;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9670

  static final char kUCheckMark;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10003

  static final char kUControlGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8963

  static final char kUOptionGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8997

  static final char kUEnterGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8996

  static final char kUCommandGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8984

  static final char kULeftDeleteGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9003

  static final char kURightDeleteGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8998

  static final char kUShiftGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8679

  static final char kUCapsLockGlyph;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8682

  static final int ALT_GRAPH_MASK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  static final int sUnsupportedModifiersMask;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -48

  static final com.apple.laf.AquaUtils$RecyclableSingleton<com.apple.laf.AquaMenuPainter> sPainter;
    descriptor: Lcom/apple/laf/AquaUtils$RecyclableSingleton;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lcom/apple/laf/AquaUtils$RecyclableSingleton<Lcom/apple/laf/AquaMenuPainter;>;

  static final int defaultMenuItemGap;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int kAcceleratorArrowSpace;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  protected final com.apple.laf.AquaMenuPainter$RecyclableBorder menuBarPainter;
    descriptor: Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.apple.laf.AquaMenuPainter$RecyclableBorder selectedMenuBarItemPainter;
    descriptor: Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.apple.laf.AquaMenuPainter$RecyclableBorder selectedMenuItemPainter;
    descriptor: Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 124
            new com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor
            dup
            ldc Lcom/apple/laf/AquaMenuPainter;
            invokespecial com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor.<init>:(Ljava/lang/Class;)V
            putstatic com.apple.laf.AquaMenuPainter.sPainter:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
         1: .line 130
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.apple.laf.AquaMenuPainter this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 138
            aload 0 /* this */
            new com.apple.laf.AquaMenuPainter$RecyclableBorder
            dup
            ldc "MenuBar.backgroundPainter"
            invokespecial com.apple.laf.AquaMenuPainter$RecyclableBorder.<init>:(Ljava/lang/String;)V
            putfield com.apple.laf.AquaMenuPainter.menuBarPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
         2: .line 139
            aload 0 /* this */
            new com.apple.laf.AquaMenuPainter$RecyclableBorder
            dup
            ldc "MenuBar.selectedBackgroundPainter"
            invokespecial com.apple.laf.AquaMenuPainter$RecyclableBorder.<init>:(Ljava/lang/String;)V
            putfield com.apple.laf.AquaMenuPainter.selectedMenuBarItemPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
         3: .line 140
            aload 0 /* this */
            new com.apple.laf.AquaMenuPainter$RecyclableBorder
            dup
            ldc "MenuItem.selectedBackgroundPainter"
            invokespecial com.apple.laf.AquaMenuPainter$RecyclableBorder.<init>:(Ljava/lang/String;)V
            putfield com.apple.laf.AquaMenuPainter.selectedMenuItemPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
         4: .line 53
            return
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/apple/laf/AquaMenuPainter;

  static java.lang.String getKeyModifiersText(int, boolean);
    descriptor: (IZ)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int modifiers
        start local 1 // boolean isLeftToRight
         0: .line 85
            iload 0 /* modifiers */
            iload 1 /* isLeftToRight */
            invokestatic com.apple.laf.AquaMenuPainter.getKeyModifiersUnicode:(IZ)Ljava/lang/String;
            areturn
        end local 1 // boolean isLeftToRight
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0      modifiers  I
            0    1     1  isLeftToRight  Z
    MethodParameters:
               Name  Flags
      modifiers      final
      isLeftToRight  final

  private static java.lang.String getKeyModifiersUnicode(int, boolean);
    descriptor: (IZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int modifiers
        start local 1 // boolean isLeftToRight
         0: .line 90
            new java.lang.StringBuilder
            dup
            iconst_2
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 94
            iload 1 /* isLeftToRight */
            ifeq 11
         2: .line 95
            iload 0 /* modifiers */
            iconst_2
            iand
            ifeq 4
         3: .line 96
            aload 2 /* buf */
            sipush 8963
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 98
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 0 /* modifiers */
            bipush 40
            iand
            ifeq 6
         5: .line 99
            aload 2 /* buf */
            sipush 8997
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 101
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_1
            iand
            ifeq 8
         7: .line 102
            aload 2 /* buf */
            sipush 8679
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 104
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_4
            iand
            ifeq 19
         9: .line 105
            aload 2 /* buf */
            sipush 8984
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 107
            goto 19
        11: .line 108
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_4
            iand
            ifeq 13
        12: .line 109
            aload 2 /* buf */
            sipush 8984
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 111
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_1
            iand
            ifeq 15
        14: .line 112
            aload 2 /* buf */
            sipush 8679
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 114
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            bipush 40
            iand
            ifeq 17
        16: .line 115
            aload 2 /* buf */
            sipush 8997
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 117
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_2
            iand
            ifeq 19
        18: .line 118
            aload 2 /* buf */
            sipush 8963
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 121
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // boolean isLeftToRight
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0      modifiers  I
            0   20     1  isLeftToRight  Z
            1   20     2            buf  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      modifiers      final
      isLeftToRight  final

  static com.apple.laf.AquaMenuPainter instance();
    descriptor: ()Lcom/apple/laf/AquaMenuPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 126
            getstatic com.apple.laf.AquaMenuPainter.sPainter:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
            invokevirtual com.apple.laf.AquaUtils$RecyclableSingleton.get:()Ljava/lang/Object;
            checkcast com.apple.laf.AquaMenuPainter
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void paintMenuBarBackground(java.awt.Graphics, int, int, javax.swing.JComponent);
    descriptor: (Ljava/awt/Graphics;IILjavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // int width
        start local 3 // int height
        start local 4 // javax.swing.JComponent c
         0: .line 143
            aload 1 /* g */
            aload 4 /* c */
            ifnonnull 1
            getstatic java.awt.Color.white:Ljava/awt/Color;
            goto 2
      StackMap locals:
      StackMap stack: java.awt.Graphics
         1: aload 4 /* c */
            invokevirtual javax.swing.JComponent.getBackground:()Ljava/awt/Color;
      StackMap locals: com.apple.laf.AquaMenuPainter java.awt.Graphics int int javax.swing.JComponent
      StackMap stack: java.awt.Graphics java.awt.Color
         2: invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         3: .line 144
            aload 1 /* g */
            iconst_0
            iconst_0
            iload 2 /* width */
            iload 3 /* height */
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         4: .line 145
            aload 0 /* this */
            getfield com.apple.laf.AquaMenuPainter.menuBarPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
            invokevirtual com.apple.laf.AquaMenuPainter$RecyclableBorder.get:()Ljava/lang/Object;
            checkcast javax.swing.border.Border
            aconst_null
            aload 1 /* g */
            iconst_0
            iconst_0
            iload 2 /* width */
            iload 3 /* height */
            invokeinterface javax.swing.border.Border.paintBorder:(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V
         5: .line 146
            return
        end local 4 // javax.swing.JComponent c
        end local 3 // int height
        end local 2 // int width
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/apple/laf/AquaMenuPainter;
            0    6     1       g  Ljava/awt/Graphics;
            0    6     2   width  I
            0    6     3  height  I
            0    6     4       c  Ljavax/swing/JComponent;
    MethodParameters:
        Name  Flags
      g       final
      width   final
      height  final
      c       final

  public void paintSelectedMenuTitleBackground(java.awt.Graphics, int, int);
    descriptor: (Ljava/awt/Graphics;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // int width
        start local 3 // int height
         0: .line 149
            aload 0 /* this */
            getfield com.apple.laf.AquaMenuPainter.selectedMenuBarItemPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
            invokevirtual com.apple.laf.AquaMenuPainter$RecyclableBorder.get:()Ljava/lang/Object;
            checkcast javax.swing.border.Border
            aconst_null
            aload 1 /* g */
            iconst_m1
            iconst_0
            iload 2 /* width */
            iconst_2
            iadd
            iload 3 /* height */
            invokeinterface javax.swing.border.Border.paintBorder:(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V
         1: .line 150
            return
        end local 3 // int height
        end local 2 // int width
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/apple/laf/AquaMenuPainter;
            0    2     1       g  Ljava/awt/Graphics;
            0    2     2   width  I
            0    2     3  height  I
    MethodParameters:
        Name  Flags
      g       final
      width   final
      height  final

  public void paintSelectedMenuItemBackground(java.awt.Graphics, int, int);
    descriptor: (Ljava/awt/Graphics;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // int width
        start local 3 // int height
         0: .line 153
            aload 0 /* this */
            getfield com.apple.laf.AquaMenuPainter.selectedMenuItemPainter:Lcom/apple/laf/AquaMenuPainter$RecyclableBorder;
            invokevirtual com.apple.laf.AquaMenuPainter$RecyclableBorder.get:()Ljava/lang/Object;
            checkcast javax.swing.border.Border
            aconst_null
            aload 1 /* g */
            iconst_0
            iconst_0
            iload 2 /* width */
            iload 3 /* height */
            invokeinterface javax.swing.border.Border.paintBorder:(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V
         1: .line 154
            return
        end local 3 // int height
        end local 2 // int width
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/apple/laf/AquaMenuPainter;
            0    2     1       g  Ljava/awt/Graphics;
            0    2     2   width  I
            0    2     3  height  I
    MethodParameters:
        Name  Flags
      g       final
      width   final
      height  final

  protected void paintMenuItem(com.apple.laf.AquaMenuPainter$Client, java.awt.Graphics, javax.swing.JComponent, javax.swing.Icon, javax.swing.Icon, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color, int, java.awt.Font);
    descriptor: (Lcom/apple/laf/AquaMenuPainter$Client;Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;ILjava/awt/Font;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=22, locals=43, args_size=12
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // com.apple.laf.AquaMenuPainter$Client client
        start local 2 // java.awt.Graphics g
        start local 3 // javax.swing.JComponent c
        start local 4 // javax.swing.Icon checkIcon
        start local 5 // javax.swing.Icon arrowIcon
        start local 6 // java.awt.Color background
        start local 7 // java.awt.Color foreground
        start local 8 // java.awt.Color disabledForeground
        start local 9 // java.awt.Color selectionForeground
        start local 10 // int defaultTextIconGap
        start local 11 // java.awt.Font acceleratorFont
         0: .line 157
            aload 3 /* c */
            checkcast javax.swing.JMenuItem
            astore 12 /* b */
        start local 12 // javax.swing.JMenuItem b
         1: .line 158
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getModel:()Ljavax/swing/ButtonModel;
            astore 13 /* model */
        start local 13 // javax.swing.ButtonModel model
         2: .line 161
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getWidth:()I
            istore 14 /* menuWidth */
        start local 14 // int menuWidth
         3: .line 162
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getHeight:()I
            istore 15 /* menuHeight */
        start local 15 // int menuHeight
         4: .line 163
            aload 3 /* c */
            invokevirtual javax.swing.JComponent.getInsets:()Ljava/awt/Insets;
            astore 16 /* i */
        start local 16 // java.awt.Insets i
         5: .line 165
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iload 14 /* menuWidth */
            iload 15 /* menuHeight */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 17 /* viewRect */
        start local 17 // java.awt.Rectangle viewRect
         6: .line 167
            aload 17 /* viewRect */
            dup
            getfield java.awt.Rectangle.x:I
            aload 16 /* i */
            getfield java.awt.Insets.left:I
            iadd
            putfield java.awt.Rectangle.x:I
         7: .line 168
            aload 17 /* viewRect */
            dup
            getfield java.awt.Rectangle.y:I
            aload 16 /* i */
            getfield java.awt.Insets.top:I
            iadd
            putfield java.awt.Rectangle.y:I
         8: .line 169
            aload 17 /* viewRect */
            dup
            getfield java.awt.Rectangle.width:I
            aload 16 /* i */
            getfield java.awt.Insets.right:I
            aload 17 /* viewRect */
            getfield java.awt.Rectangle.x:I
            iadd
            isub
            putfield java.awt.Rectangle.width:I
         9: .line 170
            aload 17 /* viewRect */
            dup
            getfield java.awt.Rectangle.height:I
            aload 16 /* i */
            getfield java.awt.Insets.bottom:I
            aload 17 /* viewRect */
            getfield java.awt.Rectangle.y:I
            iadd
            isub
            putfield java.awt.Rectangle.height:I
        10: .line 172
            aload 2 /* g */
            invokevirtual java.awt.Graphics.getFont:()Ljava/awt/Font;
            astore 18 /* holdf */
        start local 18 // java.awt.Font holdf
        11: .line 173
            aload 2 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 19 /* holdc */
        start local 19 // java.awt.Color holdc
        12: .line 174
            aload 3 /* c */
            invokevirtual javax.swing.JComponent.getFont:()Ljava/awt/Font;
            astore 20 /* f */
        start local 20 // java.awt.Font f
        13: .line 175
            aload 2 /* g */
            aload 20 /* f */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        14: .line 176
            aload 2 /* g */
            aload 20 /* f */
            invokevirtual java.awt.Graphics.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 21 /* fm */
        start local 21 // java.awt.FontMetrics fm
        15: .line 178
            aload 2 /* g */
            aload 11 /* acceleratorFont */
            invokevirtual java.awt.Graphics.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 22 /* fmAccel */
        start local 22 // java.awt.FontMetrics fmAccel
        16: .line 181
            aload 3 /* c */
            invokevirtual javax.swing.JComponent.isOpaque:()Z
            ifeq 18
        17: .line 182
            aload 1 /* client */
            aload 2 /* g */
            aload 3 /* c */
            iload 14 /* menuWidth */
            iload 15 /* menuHeight */
            invokeinterface com.apple.laf.AquaMenuPainter$Client.paintBackground:(Ljava/awt/Graphics;Ljavax/swing/JComponent;II)V
        18: .line 186
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics
      StackMap stack:
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getAccelerator:()Ljavax/swing/KeyStroke;
            astore 23 /* accelerator */
        start local 23 // javax.swing.KeyStroke accelerator
        19: .line 187
            ldc ""
            astore 24 /* modifiersString */
        start local 24 // java.lang.String modifiersString
        20: ldc ""
            astore 25 /* keyString */
        start local 25 // java.lang.String keyString
        21: .line 188
            aload 3 /* c */
            invokestatic com.apple.laf.AquaUtils.isLeftToRight:(Ljava/awt/Component;)Z
            istore 26 /* leftToRight */
        start local 26 // boolean leftToRight
        22: .line 189
            aload 23 /* accelerator */
            ifnull 31
        23: .line 190
            aload 23 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getModifiers:()I
            istore 27 /* modifiers */
        start local 27 // int modifiers
        24: .line 191
            iload 27 /* modifiers */
            ifle 26
        25: .line 192
            iload 27 /* modifiers */
            iload 26 /* leftToRight */
            invokestatic com.apple.laf.AquaMenuPainter.getKeyModifiersText:(IZ)Ljava/lang/String;
            astore 24 /* modifiersString */
        26: .line 194
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int int
      StackMap stack:
            aload 23 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getKeyCode:()I
            istore 28 /* keyCode */
        start local 28 // int keyCode
        27: .line 195
            iload 28 /* keyCode */
            ifeq 30
        28: .line 196
            iload 28 /* keyCode */
            invokestatic java.awt.event.KeyEvent.getKeyText:(I)Ljava/lang/String;
            astore 25 /* keyString */
        29: .line 197
            goto 31
        30: .line 198
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 25 /* keyString */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 23 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getKeyChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 25 /* keyString */
        end local 28 // int keyCode
        end local 27 // int modifiers
        31: .line 202
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 27 /* iconRect */
        start local 27 // java.awt.Rectangle iconRect
        32: .line 203
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 28 /* textRect */
        start local 28 // java.awt.Rectangle textRect
        33: .line 204
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 29 /* acceleratorRect */
        start local 29 // java.awt.Rectangle acceleratorRect
        34: .line 205
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 30 /* checkIconRect */
        start local 30 // java.awt.Rectangle checkIconRect
        35: .line 206
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 31 /* arrowIconRect */
        start local 31 // java.awt.Rectangle arrowIconRect
        36: .line 209
            aload 0 /* this */
            aload 12 /* b */
            aload 21 /* fm */
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getText:()Ljava/lang/String;
            aload 22 /* fmAccel */
            aload 25 /* keyString */
            aload 24 /* modifiersString */
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getIcon:()Ljavax/swing/Icon;
            aload 4 /* checkIcon */
            aload 5 /* arrowIcon */
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getVerticalAlignment:()I
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getHorizontalAlignment:()I
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getVerticalTextPosition:()I
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getHorizontalTextPosition:()I
            aload 17 /* viewRect */
            aload 27 /* iconRect */
            aload 28 /* textRect */
            aload 29 /* acceleratorRect */
            aload 30 /* checkIconRect */
            aload 31 /* arrowIconRect */
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getText:()Ljava/lang/String;
            ifnonnull 37
            iconst_0
            goto 38
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: com.apple.laf.AquaMenuPainter javax.swing.JMenuItem java.awt.FontMetrics java.lang.String java.awt.FontMetrics java.lang.String java.lang.String javax.swing.Icon javax.swing.Icon javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
        37: iload 10 /* defaultTextIconGap */
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: com.apple.laf.AquaMenuPainter javax.swing.JMenuItem java.awt.FontMetrics java.lang.String java.awt.FontMetrics java.lang.String java.lang.String javax.swing.Icon javax.swing.Icon javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle int
        38: iload 10 /* defaultTextIconGap */
            invokevirtual com.apple.laf.AquaMenuPainter.layoutMenuItem:(Ljavax/swing/JMenuItem;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;II)Ljava/lang/String;
            astore 32 /* text */
        start local 32 // java.lang.String text
        39: .line 215
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getParent:()Ljava/awt/Container;
            astore 33 /* parent */
        start local 33 // java.awt.Container parent
        40: .line 216
            aload 33 /* parent */
            instanceof javax.swing.JMenuBar
            istore 34 /* parentIsMenuBar */
        start local 34 // boolean parentIsMenuBar
        41: .line 218
            aload 33 /* parent */
            astore 35 /* ancestor */
        start local 35 // java.awt.Container ancestor
        42: .line 219
            goto 44
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.lang.String java.awt.Container int java.awt.Container
      StackMap stack:
        43: aload 35 /* ancestor */
            invokevirtual java.awt.Container.getParent:()Ljava/awt/Container;
            astore 35 /* ancestor */
      StackMap locals:
      StackMap stack:
        44: aload 35 /* ancestor */
            ifnull 45
            aload 35 /* ancestor */
            instanceof javax.swing.JPopupMenu
            ifeq 43
        45: .line 221
      StackMap locals:
      StackMap stack:
            aload 13 /* model */
            invokeinterface javax.swing.ButtonModel.isEnabled:()Z
            ifeq 47
            aload 35 /* ancestor */
            ifnull 46
            aload 35 /* ancestor */
            invokevirtual java.awt.Container.isVisible:()Z
            ifeq 47
      StackMap locals:
      StackMap stack:
        46: iconst_1
            goto 48
      StackMap locals:
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 36 /* isEnabled */
        start local 36 // boolean isEnabled
        49: .line 224
            iconst_0
            istore 37 /* isSelected */
        start local 37 // boolean isSelected
        50: .line 225
            iload 36 /* isEnabled */
            ifne 53
        51: .line 227
            aload 2 /* g */
            aload 8 /* disabledForeground */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        52: .line 228
            goto 60
        53: .line 230
      StackMap locals: int int
      StackMap stack:
            aload 13 /* model */
            invokeinterface javax.swing.ButtonModel.isArmed:()Z
            ifne 54
            aload 3 /* c */
            instanceof javax.swing.JMenu
            ifeq 57
            aload 13 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 57
        54: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            aload 9 /* selectionForeground */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        55: .line 232
            iconst_1
            istore 37 /* isSelected */
        56: .line 233
            goto 60
        57: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            iload 34 /* parentIsMenuBar */
            ifeq 58
            aload 33 /* parent */
            invokevirtual java.awt.Container.getForeground:()Ljava/awt/Color;
            goto 59
      StackMap locals:
      StackMap stack: java.awt.Graphics
        58: aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getForeground:()Ljava/awt/Color;
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.lang.String java.awt.Container int java.awt.Container int int
      StackMap stack: java.awt.Graphics java.awt.Color
        59: invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        60: .line 242
      StackMap locals:
      StackMap stack:
            aload 12 /* b */
            invokevirtual javax.swing.JMenuItem.getIcon:()Ljavax/swing/Icon;
            ifnull 62
        61: .line 243
            aload 0 /* this */
            aload 2 /* g */
            aload 12 /* b */
            aload 27 /* iconRect */
            iload 36 /* isEnabled */
            invokevirtual com.apple.laf.AquaMenuPainter.paintIcon:(Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljava/awt/Rectangle;Z)V
        62: .line 247
      StackMap locals:
      StackMap stack:
            aload 4 /* checkIcon */
            ifnull 64
        63: .line 248
            aload 0 /* this */
            aload 2 /* g */
            aload 12 /* b */
            aload 4 /* checkIcon */
            aload 30 /* checkIconRect */
            invokevirtual com.apple.laf.AquaMenuPainter.paintCheck:(Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljavax/swing/Icon;Ljava/awt/Rectangle;)V
        64: .line 252
      StackMap locals:
      StackMap stack:
            aload 25 /* keyString */
            ifnull 84
            aload 25 /* keyString */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 84
        65: .line 253
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.y:I
            aload 21 /* fm */
            invokevirtual java.awt.FontMetrics.getAscent:()I
            iadd
            istore 38 /* yAccel */
        start local 38 // int yAccel
        66: .line 254
            aload 24 /* modifiersString */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        67: .line 256
            aload 3 /* c */
            aload 2 /* g */
            aload 25 /* keyString */
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.x:I
            iload 38 /* yAccel */
            invokestatic sun.swing.SwingUtilities2.drawString:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;II)V
        68: .line 257
            goto 84
        69: .line 258
      StackMap locals: int
      StackMap stack:
            aload 23 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getModifiers:()I
            istore 39 /* modifiers */
        start local 39 // int modifiers
        70: .line 259
            iconst_0
            istore 40 /* underlinedChar */
        start local 40 // int underlinedChar
        71: .line 260
            iload 39 /* modifiers */
            bipush 32
            iand
            ifle 72
            sipush 8997
            istore 40 /* underlinedChar */
        72: .line 263
      StackMap locals: int int
      StackMap stack:
            aload 21 /* fm */
            bipush 77
            invokevirtual java.awt.FontMetrics.charWidth:(C)I
            aload 21 /* fm */
            aload 25 /* keyString */
            invokestatic javax.swing.SwingUtilities.computeStringWidth:(Ljava/awt/FontMetrics;Ljava/lang/String;)I
            invokestatic java.lang.Math.max:(II)I
            istore 41 /* emWidth */
        start local 41 // int emWidth
        73: .line 265
            iload 26 /* leftToRight */
            ifeq 79
        74: .line 266
            aload 2 /* g */
            aload 11 /* acceleratorFont */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        75: .line 267
            aload 0 /* this */
            aload 2 /* g */
            aload 3 /* c */
            aload 24 /* modifiersString */
            iload 40 /* underlinedChar */
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.x:I
            iload 38 /* yAccel */
            iload 36 /* isEnabled */
            iload 37 /* isSelected */
            invokevirtual com.apple.laf.AquaMenuPainter.drawString:(Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/lang/String;IIIZZ)V
        76: .line 268
            aload 2 /* g */
            aload 20 /* f */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        77: .line 269
            aload 3 /* c */
            aload 2 /* g */
            aload 25 /* keyString */
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.x:I
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.width:I
            iadd
            iload 41 /* emWidth */
            isub
            iload 38 /* yAccel */
            invokestatic sun.swing.SwingUtilities2.drawString:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;II)V
        78: .line 270
            goto 84
        79: .line 271
      StackMap locals: int
      StackMap stack:
            aload 29 /* acceleratorRect */
            getfield java.awt.Rectangle.x:I
            iload 41 /* emWidth */
            iadd
            istore 42 /* xAccel */
        start local 42 // int xAccel
        80: .line 272
            aload 2 /* g */
            aload 11 /* acceleratorFont */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        81: .line 273
            aload 0 /* this */
            aload 2 /* g */
            aload 3 /* c */
            aload 24 /* modifiersString */
            iload 40 /* underlinedChar */
            iload 42 /* xAccel */
            iload 38 /* yAccel */
            iload 36 /* isEnabled */
            iload 37 /* isSelected */
            invokevirtual com.apple.laf.AquaMenuPainter.drawString:(Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/lang/String;IIIZZ)V
        82: .line 274
            aload 2 /* g */
            aload 20 /* f */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        83: .line 275
            aload 3 /* c */
            aload 2 /* g */
            aload 25 /* keyString */
            iload 42 /* xAccel */
            aload 21 /* fm */
            aload 25 /* keyString */
            invokevirtual java.awt.FontMetrics.stringWidth:(Ljava/lang/String;)I
            isub
            iload 38 /* yAccel */
            invokestatic sun.swing.SwingUtilities2.drawString:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;II)V
        end local 42 // int xAccel
        end local 41 // int emWidth
        end local 40 // int underlinedChar
        end local 39 // int modifiers
        end local 38 // int yAccel
        84: .line 281
      StackMap locals: com.apple.laf.AquaMenuPainter com.apple.laf.AquaMenuPainter$Client java.awt.Graphics javax.swing.JComponent javax.swing.Icon javax.swing.Icon java.awt.Color java.awt.Color java.awt.Color java.awt.Color int java.awt.Font javax.swing.JMenuItem javax.swing.ButtonModel int int java.awt.Insets java.awt.Rectangle java.awt.Font java.awt.Color java.awt.Font java.awt.FontMetrics java.awt.FontMetrics javax.swing.KeyStroke java.lang.String java.lang.String int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.lang.String java.awt.Container int java.awt.Container int int
      StackMap stack:
            aload 32 /* text */
            ifnull 93
            aload 32 /* text */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 93
        85: .line 282
            aload 3 /* c */
            ldc "html"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.text.View
            astore 38 /* v */
        start local 38 // javax.swing.text.View v
        86: .line 283
            aload 38 /* v */
            ifnull 89
        87: .line 284
            aload 38 /* v */
            aload 2 /* g */
            aload 28 /* textRect */
            invokevirtual javax.swing.text.View.paint:(Ljava/awt/Graphics;Ljava/awt/Shape;)V
        88: .line 285
            goto 93
        89: .line 286
      StackMap locals: javax.swing.text.View
      StackMap stack:
            invokestatic com.apple.laf.AquaMnemonicHandler.isMnemonicHidden:()Z
            ifeq 90
            iconst_m1
            goto 91
      StackMap locals:
      StackMap stack:
        90: aload 13 /* model */
            invokeinterface javax.swing.ButtonModel.getMnemonic:()I
      StackMap locals:
      StackMap stack: int
        91: istore 39 /* mnemonic */
        start local 39 // int mnemonic
        92: .line 287
            aload 0 /* this */
            aload 2 /* g */
            aload 3 /* c */
            aload 32 /* text */
            iload 39 /* mnemonic */
            aload 28 /* textRect */
            getfield java.awt.Rectangle.x:I
            aload 28 /* textRect */
            getfield java.awt.Rectangle.y:I
            aload 21 /* fm */
            invokevirtual java.awt.FontMetrics.getAscent:()I
            iadd
            iload 36 /* isEnabled */
            iload 37 /* isSelected */
            invokevirtual com.apple.laf.AquaMenuPainter.drawString:(Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/lang/String;IIIZZ)V
        end local 39 // int mnemonic
        end local 38 // javax.swing.text.View v
        93: .line 292
      StackMap locals:
      StackMap stack:
            aload 5 /* arrowIcon */
            ifnull 95
        94: .line 293
            aload 0 /* this */
            aload 2 /* g */
            aload 12 /* b */
            aload 13 /* model */
            aload 5 /* arrowIcon */
            aload 31 /* arrowIconRect */
            invokevirtual com.apple.laf.AquaMenuPainter.paintArrow:(Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljavax/swing/ButtonModel;Ljavax/swing/Icon;Ljava/awt/Rectangle;)V
        95: .line 296
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            aload 19 /* holdc */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        96: .line 297
            aload 2 /* g */
            aload 18 /* holdf */
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
        97: .line 298
            return
        end local 37 // boolean isSelected
        end local 36 // boolean isEnabled
        end local 35 // java.awt.Container ancestor
        end local 34 // boolean parentIsMenuBar
        end local 33 // java.awt.Container parent
        end local 32 // java.lang.String text
        end local 31 // java.awt.Rectangle arrowIconRect
        end local 30 // java.awt.Rectangle checkIconRect
        end local 29 // java.awt.Rectangle acceleratorRect
        end local 28 // java.awt.Rectangle textRect
        end local 27 // java.awt.Rectangle iconRect
        end local 26 // boolean leftToRight
        end local 25 // java.lang.String keyString
        end local 24 // java.lang.String modifiersString
        end local 23 // javax.swing.KeyStroke accelerator
        end local 22 // java.awt.FontMetrics fmAccel
        end local 21 // java.awt.FontMetrics fm
        end local 20 // java.awt.Font f
        end local 19 // java.awt.Color holdc
        end local 18 // java.awt.Font holdf
        end local 17 // java.awt.Rectangle viewRect
        end local 16 // java.awt.Insets i
        end local 15 // int menuHeight
        end local 14 // int menuWidth
        end local 13 // javax.swing.ButtonModel model
        end local 12 // javax.swing.JMenuItem b
        end local 11 // java.awt.Font acceleratorFont
        end local 10 // int defaultTextIconGap
        end local 9 // java.awt.Color selectionForeground
        end local 8 // java.awt.Color disabledForeground
        end local 7 // java.awt.Color foreground
        end local 6 // java.awt.Color background
        end local 5 // javax.swing.Icon arrowIcon
        end local 4 // javax.swing.Icon checkIcon
        end local 3 // javax.swing.JComponent c
        end local 2 // java.awt.Graphics g
        end local 1 // com.apple.laf.AquaMenuPainter$Client client
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   98     0                 this  Lcom/apple/laf/AquaMenuPainter;
            0   98     1               client  Lcom/apple/laf/AquaMenuPainter$Client;
            0   98     2                    g  Ljava/awt/Graphics;
            0   98     3                    c  Ljavax/swing/JComponent;
            0   98     4            checkIcon  Ljavax/swing/Icon;
            0   98     5            arrowIcon  Ljavax/swing/Icon;
            0   98     6           background  Ljava/awt/Color;
            0   98     7           foreground  Ljava/awt/Color;
            0   98     8   disabledForeground  Ljava/awt/Color;
            0   98     9  selectionForeground  Ljava/awt/Color;
            0   98    10   defaultTextIconGap  I
            0   98    11      acceleratorFont  Ljava/awt/Font;
            1   98    12                    b  Ljavax/swing/JMenuItem;
            2   98    13                model  Ljavax/swing/ButtonModel;
            3   98    14            menuWidth  I
            4   98    15           menuHeight  I
            5   98    16                    i  Ljava/awt/Insets;
            6   98    17             viewRect  Ljava/awt/Rectangle;
           11   98    18                holdf  Ljava/awt/Font;
           12   98    19                holdc  Ljava/awt/Color;
           13   98    20                    f  Ljava/awt/Font;
           15   98    21                   fm  Ljava/awt/FontMetrics;
           16   98    22              fmAccel  Ljava/awt/FontMetrics;
           19   98    23          accelerator  Ljavax/swing/KeyStroke;
           20   98    24      modifiersString  Ljava/lang/String;
           21   98    25            keyString  Ljava/lang/String;
           22   98    26          leftToRight  Z
           24   31    27            modifiers  I
           27   31    28              keyCode  I
           32   98    27             iconRect  Ljava/awt/Rectangle;
           33   98    28             textRect  Ljava/awt/Rectangle;
           34   98    29      acceleratorRect  Ljava/awt/Rectangle;
           35   98    30        checkIconRect  Ljava/awt/Rectangle;
           36   98    31        arrowIconRect  Ljava/awt/Rectangle;
           39   98    32                 text  Ljava/lang/String;
           40   98    33               parent  Ljava/awt/Container;
           41   98    34      parentIsMenuBar  Z
           42   98    35             ancestor  Ljava/awt/Container;
           49   98    36            isEnabled  Z
           50   98    37           isSelected  Z
           66   84    38               yAccel  I
           70   84    39            modifiers  I
           71   84    40       underlinedChar  I
           73   84    41              emWidth  I
           80   84    42               xAccel  I
           86   93    38                    v  Ljavax/swing/text/View;
           92   93    39             mnemonic  I
    MethodParameters:
                     Name  Flags
      client               final
      g                    final
      c                    final
      checkIcon            final
      arrowIcon            final
      background           final
      foreground           final
      disabledForeground   final
      selectionForeground  final
      defaultTextIconGap   final
      acceleratorFont      final

  protected java.awt.Dimension getPreferredMenuItemSize(javax.swing.JComponent, javax.swing.Icon, javax.swing.Icon, int, java.awt.Font);
    descriptor: (Ljavax/swing/JComponent;Ljavax/swing/Icon;Ljavax/swing/Icon;ILjava/awt/Font;)Ljava/awt/Dimension;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=22, locals=24, args_size=6
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // javax.swing.JComponent c
        start local 2 // javax.swing.Icon checkIcon
        start local 3 // javax.swing.Icon arrowIcon
        start local 4 // int defaultTextIconGap
        start local 5 // java.awt.Font acceleratorFont
         0: .line 303
            aload 1 /* c */
            checkcast javax.swing.JMenuItem
            astore 6 /* b */
        start local 6 // javax.swing.JMenuItem b
         1: .line 304
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getIcon:()Ljavax/swing/Icon;
            astore 7 /* icon */
        start local 7 // javax.swing.Icon icon
         2: .line 305
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getText:()Ljava/lang/String;
            astore 8 /* text */
        start local 8 // java.lang.String text
         3: .line 306
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getAccelerator:()Ljavax/swing/KeyStroke;
            astore 9 /* accelerator */
        start local 9 // javax.swing.KeyStroke accelerator
         4: .line 307
            ldc ""
            astore 10 /* keyString */
        start local 10 // java.lang.String keyString
         5: ldc ""
            astore 11 /* modifiersString */
        start local 11 // java.lang.String modifiersString
         6: .line 309
            aload 9 /* accelerator */
            ifnull 15
         7: .line 310
            aload 9 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getModifiers:()I
            istore 12 /* modifiers */
        start local 12 // int modifiers
         8: .line 311
            iload 12 /* modifiers */
            ifle 10
         9: .line 312
            iload 12 /* modifiers */
            iconst_1
            invokestatic com.apple.laf.AquaMenuPainter.getKeyModifiersText:(IZ)Ljava/lang/String;
            astore 11 /* modifiersString */
        10: .line 314
      StackMap locals: com.apple.laf.AquaMenuPainter javax.swing.JComponent javax.swing.Icon javax.swing.Icon int java.awt.Font javax.swing.JMenuItem javax.swing.Icon java.lang.String javax.swing.KeyStroke java.lang.String java.lang.String int
      StackMap stack:
            aload 9 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getKeyCode:()I
            istore 13 /* keyCode */
        start local 13 // int keyCode
        11: .line 315
            iload 13 /* keyCode */
            ifeq 14
        12: .line 316
            iload 13 /* keyCode */
            invokestatic java.awt.event.KeyEvent.getKeyText:(I)Ljava/lang/String;
            astore 10 /* keyString */
        13: .line 317
            goto 15
        14: .line 318
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* keyString */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* accelerator */
            invokevirtual javax.swing.KeyStroke.getKeyChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* keyString */
        end local 13 // int keyCode
        end local 12 // int modifiers
        15: .line 322
      StackMap locals:
      StackMap stack:
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getFont:()Ljava/awt/Font;
            astore 12 /* font */
        start local 12 // java.awt.Font font
        16: .line 323
            aload 6 /* b */
            aload 12 /* font */
            invokevirtual javax.swing.JMenuItem.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 13 /* fm */
        start local 13 // java.awt.FontMetrics fm
        17: .line 324
            aload 6 /* b */
            aload 5 /* acceleratorFont */
            invokevirtual javax.swing.JMenuItem.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 14 /* fmAccel */
        start local 14 // java.awt.FontMetrics fmAccel
        18: .line 326
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 15 /* iconRect */
        start local 15 // java.awt.Rectangle iconRect
        19: .line 327
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 16 /* textRect */
        start local 16 // java.awt.Rectangle textRect
        20: .line 328
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 17 /* acceleratorRect */
        start local 17 // java.awt.Rectangle acceleratorRect
        21: .line 329
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 18 /* checkIconRect */
        start local 18 // java.awt.Rectangle checkIconRect
        22: .line 330
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 19 /* arrowIconRect */
        start local 19 // java.awt.Rectangle arrowIconRect
        23: .line 331
            new java.awt.Rectangle
            dup
            sipush 32767
            sipush 32767
            invokespecial java.awt.Rectangle.<init>:(II)V
            astore 20 /* viewRect */
        start local 20 // java.awt.Rectangle viewRect
        24: .line 333
            aload 0 /* this */
            aload 6 /* b */
            aload 13 /* fm */
            aload 8 /* text */
            aload 14 /* fmAccel */
            aload 10 /* keyString */
            aload 11 /* modifiersString */
            aload 7 /* icon */
            aload 2 /* checkIcon */
            aload 3 /* arrowIcon */
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getVerticalAlignment:()I
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getHorizontalAlignment:()I
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getVerticalTextPosition:()I
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getHorizontalTextPosition:()I
            aload 20 /* viewRect */
            aload 15 /* iconRect */
            aload 16 /* textRect */
            aload 17 /* acceleratorRect */
            aload 18 /* checkIconRect */
            aload 19 /* arrowIconRect */
            aload 8 /* text */
            ifnonnull 25
            iconst_0
            goto 26
      StackMap locals: com.apple.laf.AquaMenuPainter javax.swing.JComponent javax.swing.Icon javax.swing.Icon int java.awt.Font javax.swing.JMenuItem javax.swing.Icon java.lang.String javax.swing.KeyStroke java.lang.String java.lang.String java.awt.Font java.awt.FontMetrics java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: com.apple.laf.AquaMenuPainter javax.swing.JMenuItem java.awt.FontMetrics java.lang.String java.awt.FontMetrics java.lang.String java.lang.String javax.swing.Icon javax.swing.Icon javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
        25: iload 4 /* defaultTextIconGap */
      StackMap locals: com.apple.laf.AquaMenuPainter javax.swing.JComponent javax.swing.Icon javax.swing.Icon int java.awt.Font javax.swing.JMenuItem javax.swing.Icon java.lang.String javax.swing.KeyStroke java.lang.String java.lang.String java.awt.Font java.awt.FontMetrics java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: com.apple.laf.AquaMenuPainter javax.swing.JMenuItem java.awt.FontMetrics java.lang.String java.awt.FontMetrics java.lang.String java.lang.String javax.swing.Icon javax.swing.Icon javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle int
        26: iload 4 /* defaultTextIconGap */
            invokevirtual com.apple.laf.AquaMenuPainter.layoutMenuItem:(Ljavax/swing/JMenuItem;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;II)Ljava/lang/String;
            pop
        27: .line 335
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 21 /* r */
        start local 21 // java.awt.Rectangle r
        28: .line 336
            aload 21 /* r */
            aload 16 /* textRect */
            invokevirtual java.awt.Rectangle.setBounds:(Ljava/awt/Rectangle;)V
        29: .line 337
            aload 15 /* iconRect */
            getfield java.awt.Rectangle.x:I
            aload 15 /* iconRect */
            getfield java.awt.Rectangle.y:I
            aload 15 /* iconRect */
            getfield java.awt.Rectangle.width:I
            aload 15 /* iconRect */
            getfield java.awt.Rectangle.height:I
            aload 21 /* r */
            invokestatic javax.swing.SwingUtilities.computeUnion:(IIIILjava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 21 /* r */
        30: .line 341
            aload 10 /* keyString */
            ifnull 31
            aload 10 /* keyString */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
            iconst_0
            goto 32
      StackMap locals: java.awt.Rectangle
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: istore 22 /* acceleratorTextIsEmpty */
        start local 22 // boolean acceleratorTextIsEmpty
        33: .line 343
            iload 22 /* acceleratorTextIsEmpty */
            ifne 35
        34: .line 344
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 17 /* acceleratorRect */
            getfield java.awt.Rectangle.width:I
            iadd
            putfield java.awt.Rectangle.width:I
        35: .line 347
      StackMap locals: int
      StackMap stack:
            aload 6 /* b */
            invokestatic com.apple.laf.AquaMenuPainter.isTopLevelMenu:(Ljavax/swing/JMenuItem;)Z
            ifne 40
        36: .line 349
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 18 /* checkIconRect */
            getfield java.awt.Rectangle.width:I
            iadd
            putfield java.awt.Rectangle.width:I
        37: .line 350
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            iload 4 /* defaultTextIconGap */
            iadd
            putfield java.awt.Rectangle.width:I
        38: .line 353
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            iload 4 /* defaultTextIconGap */
            iadd
            putfield java.awt.Rectangle.width:I
        39: .line 354
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 19 /* arrowIconRect */
            getfield java.awt.Rectangle.width:I
            iadd
            putfield java.awt.Rectangle.width:I
        40: .line 357
      StackMap locals:
      StackMap stack:
            aload 6 /* b */
            invokevirtual javax.swing.JMenuItem.getInsets:()Ljava/awt/Insets;
            astore 23 /* insets */
        start local 23 // java.awt.Insets insets
        41: .line 358
            aload 23 /* insets */
            ifnull 44
        42: .line 359
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 23 /* insets */
            getfield java.awt.Insets.left:I
            aload 23 /* insets */
            getfield java.awt.Insets.right:I
            iadd
            iadd
            putfield java.awt.Rectangle.width:I
        43: .line 360
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.height:I
            aload 23 /* insets */
            getfield java.awt.Insets.top:I
            aload 23 /* insets */
            getfield java.awt.Insets.bottom:I
            iadd
            iadd
            putfield java.awt.Rectangle.height:I
        44: .line 364
      StackMap locals: java.awt.Insets
      StackMap stack:
            aload 21 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_4
            iload 4 /* defaultTextIconGap */
            iadd
            iadd
            putfield java.awt.Rectangle.width:I
        45: .line 365
            aload 21 /* r */
            aload 21 /* r */
            getfield java.awt.Rectangle.height:I
            bipush 18
            invokestatic java.lang.Math.max:(II)I
            putfield java.awt.Rectangle.height:I
        46: .line 367
            aload 21 /* r */
            invokevirtual java.awt.Rectangle.getSize:()Ljava/awt/Dimension;
            areturn
        end local 23 // java.awt.Insets insets
        end local 22 // boolean acceleratorTextIsEmpty
        end local 21 // java.awt.Rectangle r
        end local 20 // java.awt.Rectangle viewRect
        end local 19 // java.awt.Rectangle arrowIconRect
        end local 18 // java.awt.Rectangle checkIconRect
        end local 17 // java.awt.Rectangle acceleratorRect
        end local 16 // java.awt.Rectangle textRect
        end local 15 // java.awt.Rectangle iconRect
        end local 14 // java.awt.FontMetrics fmAccel
        end local 13 // java.awt.FontMetrics fm
        end local 12 // java.awt.Font font
        end local 11 // java.lang.String modifiersString
        end local 10 // java.lang.String keyString
        end local 9 // javax.swing.KeyStroke accelerator
        end local 8 // java.lang.String text
        end local 7 // javax.swing.Icon icon
        end local 6 // javax.swing.JMenuItem b
        end local 5 // java.awt.Font acceleratorFont
        end local 4 // int defaultTextIconGap
        end local 3 // javax.swing.Icon arrowIcon
        end local 2 // javax.swing.Icon checkIcon
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   47     0                    this  Lcom/apple/laf/AquaMenuPainter;
            0   47     1                       c  Ljavax/swing/JComponent;
            0   47     2               checkIcon  Ljavax/swing/Icon;
            0   47     3               arrowIcon  Ljavax/swing/Icon;
            0   47     4      defaultTextIconGap  I
            0   47     5         acceleratorFont  Ljava/awt/Font;
            1   47     6                       b  Ljavax/swing/JMenuItem;
            2   47     7                    icon  Ljavax/swing/Icon;
            3   47     8                    text  Ljava/lang/String;
            4   47     9             accelerator  Ljavax/swing/KeyStroke;
            5   47    10               keyString  Ljava/lang/String;
            6   47    11         modifiersString  Ljava/lang/String;
            8   15    12               modifiers  I
           11   15    13                 keyCode  I
           16   47    12                    font  Ljava/awt/Font;
           17   47    13                      fm  Ljava/awt/FontMetrics;
           18   47    14                 fmAccel  Ljava/awt/FontMetrics;
           19   47    15                iconRect  Ljava/awt/Rectangle;
           20   47    16                textRect  Ljava/awt/Rectangle;
           21   47    17         acceleratorRect  Ljava/awt/Rectangle;
           22   47    18           checkIconRect  Ljava/awt/Rectangle;
           23   47    19           arrowIconRect  Ljava/awt/Rectangle;
           24   47    20                viewRect  Ljava/awt/Rectangle;
           28   47    21                       r  Ljava/awt/Rectangle;
           33   47    22  acceleratorTextIsEmpty  Z
           41   47    23                  insets  Ljava/awt/Insets;
    MethodParameters:
                    Name  Flags
      c                   final
      checkIcon           final
      arrowIcon           final
      defaultTextIconGap  final
      acceleratorFont     final

  protected void paintCheck(java.awt.Graphics, javax.swing.JMenuItem, javax.swing.Icon, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljavax/swing/Icon;Ljava/awt/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JMenuItem item
        start local 3 // javax.swing.Icon checkIcon
        start local 4 // java.awt.Rectangle checkIconRect
         0: .line 371
            aload 2 /* item */
            invokestatic com.apple.laf.AquaMenuPainter.isTopLevelMenu:(Ljavax/swing/JMenuItem;)Z
            ifne 1
            aload 2 /* item */
            invokevirtual javax.swing.JMenuItem.isSelected:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 373
      StackMap locals:
      StackMap stack:
            aload 2 /* item */
            invokevirtual javax.swing.JMenuItem.isArmed:()Z
            ifeq 5
            aload 3 /* checkIcon */
            instanceof com.apple.laf.AquaIcon$InvertableIcon
            ifeq 5
         3: .line 374
            aload 3 /* checkIcon */
            checkcast com.apple.laf.AquaIcon$InvertableIcon
            invokeinterface com.apple.laf.AquaIcon$InvertableIcon.getInvertedIcon:()Ljavax/swing/Icon;
            aload 2 /* item */
            aload 1 /* g */
            aload 4 /* checkIconRect */
            getfield java.awt.Rectangle.x:I
            aload 4 /* checkIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
         4: .line 375
            goto 6
         5: .line 376
      StackMap locals:
      StackMap stack:
            aload 3 /* checkIcon */
            aload 2 /* item */
            aload 1 /* g */
            aload 4 /* checkIconRect */
            getfield java.awt.Rectangle.x:I
            aload 4 /* checkIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
         6: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.awt.Rectangle checkIconRect
        end local 3 // javax.swing.Icon checkIcon
        end local 2 // javax.swing.JMenuItem item
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/apple/laf/AquaMenuPainter;
            0    7     1              g  Ljava/awt/Graphics;
            0    7     2           item  Ljavax/swing/JMenuItem;
            0    7     3      checkIcon  Ljavax/swing/Icon;
            0    7     4  checkIconRect  Ljava/awt/Rectangle;
    MethodParameters:
               Name  Flags
      g              final
      item           final
      checkIcon      
      checkIconRect  

  protected void paintIcon(java.awt.Graphics, javax.swing.JMenuItem, java.awt.Rectangle, boolean);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljava/awt/Rectangle;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JMenuItem c
        start local 3 // java.awt.Rectangle localIconRect
        start local 4 // boolean isEnabled
         0: .line 381
            aload 2 /* c */
            invokevirtual javax.swing.JMenuItem.getModel:()Ljavax/swing/ButtonModel;
            astore 5 /* model */
        start local 5 // javax.swing.ButtonModel model
         1: .line 383
            iload 4 /* isEnabled */
            ifne 4
         2: .line 384
            aload 2 /* c */
            invokevirtual javax.swing.JMenuItem.getDisabledIcon:()Ljavax/swing/Icon;
            astore 6 /* icon */
        start local 6 // javax.swing.Icon icon
         3: .line 385
            goto 10
        end local 6 // javax.swing.Icon icon
      StackMap locals: javax.swing.ButtonModel
      StackMap stack:
         4: aload 5 /* model */
            invokeinterface javax.swing.ButtonModel.isPressed:()Z
            ifeq 9
            aload 5 /* model */
            invokeinterface javax.swing.ButtonModel.isArmed:()Z
            ifeq 9
         5: .line 386
            aload 2 /* c */
            invokevirtual javax.swing.JMenuItem.getPressedIcon:()Ljavax/swing/Icon;
            astore 6 /* icon */
        start local 6 // javax.swing.Icon icon
         6: .line 387
            aload 6 /* icon */
            ifnonnull 10
         7: .line 389
            aload 2 /* c */
            invokevirtual javax.swing.JMenuItem.getIcon:()Ljavax/swing/Icon;
            astore 6 /* icon */
         8: .line 391
            goto 10
        end local 6 // javax.swing.Icon icon
         9: .line 392
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual javax.swing.JMenuItem.getIcon:()Ljavax/swing/Icon;
            astore 6 /* icon */
        start local 6 // javax.swing.Icon icon
        10: .line 395
      StackMap locals: javax.swing.Icon
      StackMap stack:
            aload 6 /* icon */
            ifnull 11
            aload 6 /* icon */
            aload 2 /* c */
            aload 1 /* g */
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.x:I
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
        11: .line 396
      StackMap locals:
      StackMap stack:
            return
        end local 6 // javax.swing.Icon icon
        end local 5 // javax.swing.ButtonModel model
        end local 4 // boolean isEnabled
        end local 3 // java.awt.Rectangle localIconRect
        end local 2 // javax.swing.JMenuItem c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lcom/apple/laf/AquaMenuPainter;
            0   12     1              g  Ljava/awt/Graphics;
            0   12     2              c  Ljavax/swing/JMenuItem;
            0   12     3  localIconRect  Ljava/awt/Rectangle;
            0   12     4      isEnabled  Z
            1   12     5          model  Ljavax/swing/ButtonModel;
            3    4     6           icon  Ljavax/swing/Icon;
            6    9     6           icon  Ljavax/swing/Icon;
           10   12     6           icon  Ljavax/swing/Icon;
    MethodParameters:
               Name  Flags
      g              final
      c              final
      localIconRect  final
      isEnabled      

  protected void paintArrow(java.awt.Graphics, javax.swing.JMenuItem, javax.swing.ButtonModel, javax.swing.Icon, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JMenuItem;Ljavax/swing/ButtonModel;Ljavax/swing/Icon;Ljava/awt/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JMenuItem c
        start local 3 // javax.swing.ButtonModel model
        start local 4 // javax.swing.Icon arrowIcon
        start local 5 // java.awt.Rectangle arrowIconRect
         0: .line 399
            aload 2 /* c */
            invokestatic com.apple.laf.AquaMenuPainter.isTopLevelMenu:(Ljavax/swing/JMenuItem;)Z
            ifeq 1
            return
         1: .line 401
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            instanceof javax.swing.JMenu
            ifeq 5
            aload 3 /* model */
            invokeinterface javax.swing.ButtonModel.isArmed:()Z
            ifne 2
            aload 3 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 5
      StackMap locals:
      StackMap stack:
         2: aload 4 /* arrowIcon */
            instanceof com.apple.laf.AquaIcon$InvertableIcon
            ifeq 5
         3: .line 402
            aload 4 /* arrowIcon */
            checkcast com.apple.laf.AquaIcon$InvertableIcon
            invokeinterface com.apple.laf.AquaIcon$InvertableIcon.getInvertedIcon:()Ljavax/swing/Icon;
            aload 2 /* c */
            aload 1 /* g */
            aload 5 /* arrowIconRect */
            getfield java.awt.Rectangle.x:I
            aload 5 /* arrowIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
         4: .line 403
            goto 6
         5: .line 404
      StackMap locals:
      StackMap stack:
            aload 4 /* arrowIcon */
            aload 2 /* c */
            aload 1 /* g */
            aload 5 /* arrowIconRect */
            getfield java.awt.Rectangle.x:I
            aload 5 /* arrowIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
         6: .line 406
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.awt.Rectangle arrowIconRect
        end local 4 // javax.swing.Icon arrowIcon
        end local 3 // javax.swing.ButtonModel model
        end local 2 // javax.swing.JMenuItem c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/apple/laf/AquaMenuPainter;
            0    7     1              g  Ljava/awt/Graphics;
            0    7     2              c  Ljavax/swing/JMenuItem;
            0    7     3          model  Ljavax/swing/ButtonModel;
            0    7     4      arrowIcon  Ljavax/swing/Icon;
            0    7     5  arrowIconRect  Ljava/awt/Rectangle;
    MethodParameters:
               Name  Flags
      g              
      c              
      model          
      arrowIcon      
      arrowIconRect  

  public void drawString(java.awt.Graphics, javax.swing.JComponent, java.lang.String, int, int, int, boolean, boolean);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/lang/String;IIIZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=9
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
        start local 3 // java.lang.String text
        start local 4 // int underlinedChar
        start local 5 // int x
        start local 6 // int y
        start local 7 // boolean isEnabled
        start local 8 // boolean isSelected
         0: .line 414
            iconst_m1
            istore 11 /* index */
        start local 11 // int index
         1: .line 416
            iload 4 /* underlinedChar */
            ifeq 11
         2: .line 417
            iload 4 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 10 /* uc */
        start local 10 // char uc
         3: .line 418
            iload 4 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 9 /* lc */
        start local 9 // char lc
         4: .line 420
            aload 3 /* text */
            iload 10 /* uc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* uci */
        start local 13 // int uci
         5: .line 421
            aload 3 /* text */
            iload 9 /* lc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* lci */
        start local 12 // int lci
         6: .line 423
            iload 13 /* uci */
            iconst_m1
            if_icmpne 7
            iload 12 /* lci */
            istore 11 /* index */
            goto 11
         7: .line 424
      StackMap locals: com.apple.laf.AquaMenuPainter java.awt.Graphics javax.swing.JComponent java.lang.String int int int int int int int int int int
      StackMap stack:
            iload 12 /* lci */
            iconst_m1
            if_icmpne 8
            iload 13 /* uci */
            istore 11 /* index */
            goto 11
         8: .line 425
      StackMap locals:
      StackMap stack:
            iload 12 /* lci */
            iload 13 /* uci */
            if_icmpge 9
            iload 12 /* lci */
            goto 10
      StackMap locals:
      StackMap stack:
         9: iload 13 /* uci */
      StackMap locals:
      StackMap stack: int
        10: istore 11 /* index */
        end local 13 // int uci
        end local 12 // int lci
        end local 10 // char uc
        end local 9 // char lc
        11: .line 428
      StackMap locals: com.apple.laf.AquaMenuPainter java.awt.Graphics javax.swing.JComponent java.lang.String int int int int int top top int
      StackMap stack:
            aload 2 /* c */
            aload 1 /* g */
            aload 3 /* text */
            iload 11 /* index */
            iload 5 /* x */
            iload 6 /* y */
            invokestatic sun.swing.SwingUtilities2.drawStringUnderlineCharAt:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;III)V
        12: .line 429
            return
        end local 11 // int index
        end local 8 // boolean isSelected
        end local 7 // boolean isEnabled
        end local 6 // int y
        end local 5 // int x
        end local 4 // int underlinedChar
        end local 3 // java.lang.String text
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/apple/laf/AquaMenuPainter;
            0   13     1               g  Ljava/awt/Graphics;
            0   13     2               c  Ljavax/swing/JComponent;
            0   13     3            text  Ljava/lang/String;
            0   13     4  underlinedChar  I
            0   13     5               x  I
            0   13     6               y  I
            0   13     7       isEnabled  Z
            0   13     8      isSelected  Z
            4   11     9              lc  C
            3   11    10              uc  C
            1   13    11           index  I
            6   11    12             lci  I
            5   11    13             uci  I
    MethodParameters:
                Name  Flags
      g               final
      c               final
      text            final
      underlinedChar  final
      x               final
      y               final
      isEnabled       final
      isSelected      final

  private static boolean isTopLevelMenu(javax.swing.JMenuItem);
    descriptor: (Ljavax/swing/JMenuItem;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenuItem menuItem
         0: .line 436
            aload 0 /* menuItem */
            instanceof javax.swing.JMenu
            ifeq 1
            aload 0 /* menuItem */
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.swing.JMenuItem menuItem
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  menuItem  Ljavax/swing/JMenuItem;
    MethodParameters:
          Name  Flags
      menuItem  final

  private java.lang.String layoutMenuItem(javax.swing.JMenuItem, java.awt.FontMetrics, java.lang.String, java.awt.FontMetrics, java.lang.String, java.lang.String, javax.swing.Icon, javax.swing.Icon, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int, int);
    descriptor: (Ljavax/swing/JMenuItem;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/awt/FontMetrics;Ljava/lang/String;Ljava/lang/String;Ljavax/swing/Icon;Ljavax/swing/Icon;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;II)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=26, args_size=22
        start local 0 // com.apple.laf.AquaMenuPainter this
        start local 1 // javax.swing.JMenuItem menuItem
        start local 2 // java.awt.FontMetrics fm
        start local 3 // java.lang.String text
        start local 4 // java.awt.FontMetrics fmAccel
        start local 5 // java.lang.String keyString
        start local 6 // java.lang.String modifiersString
        start local 7 // javax.swing.Icon icon
        start local 8 // javax.swing.Icon checkIcon
        start local 9 // javax.swing.Icon arrowIcon
        start local 10 // int verticalAlignment
        start local 11 // int horizontalAlignment
        start local 12 // int verticalTextPosition
        start local 13 // int horizontalTextPosition
        start local 14 // java.awt.Rectangle viewR
        start local 15 // java.awt.Rectangle iconR
        start local 16 // java.awt.Rectangle textR
        start local 17 // java.awt.Rectangle acceleratorR
        start local 18 // java.awt.Rectangle checkIconR
        start local 19 // java.awt.Rectangle arrowIconR
        start local 20 // int textIconGap
        start local 21 // int menuItemGap
         0: .line 441
            aload 1 /* menuItem */
            aload 2 /* fm */
            aload 3 /* text */
            aload 7 /* icon */
            iload 10 /* verticalAlignment */
            iconst_2
            iload 12 /* verticalTextPosition */
            iload 13 /* horizontalTextPosition */
            aload 14 /* viewR */
            aload 15 /* iconR */
            aload 16 /* textR */
            iload 20 /* textIconGap */
            invokestatic javax.swing.SwingUtilities.layoutCompoundLabel:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;I)Ljava/lang/String;
            pop
         1: .line 443
            aload 5 /* keyString */
            ifnull 2
            aload 5 /* keyString */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 22 /* acceleratorTextIsEmpty */
        start local 22 // boolean acceleratorTextIsEmpty
         4: .line 445
            iload 22 /* acceleratorTextIsEmpty */
            ifeq 8
         5: .line 446
            aload 17 /* acceleratorR */
            aload 17 /* acceleratorR */
            iconst_0
            dup_x1
            putfield java.awt.Rectangle.height:I
            putfield java.awt.Rectangle.width:I
         6: .line 447
            ldc ""
            astore 5 /* keyString */
         7: .line 448
            goto 11
         8: .line 450
      StackMap locals: int
      StackMap stack:
            aload 17 /* acceleratorR */
            aload 4 /* fmAccel */
            aload 6 /* modifiersString */
            invokestatic javax.swing.SwingUtilities.computeStringWidth:(Ljava/awt/FontMetrics;Ljava/lang/String;)I
            putfield java.awt.Rectangle.width:I
         9: .line 453
            aload 17 /* acceleratorR */
            dup
            getfield java.awt.Rectangle.width:I
            aload 2 /* fm */
            bipush 77
            invokevirtual java.awt.FontMetrics.charWidth:(C)I
            aload 2 /* fm */
            aload 5 /* keyString */
            invokestatic javax.swing.SwingUtilities.computeStringWidth:(Ljava/awt/FontMetrics;Ljava/lang/String;)I
            invokestatic java.lang.Math.max:(II)I
            iadd
            putfield java.awt.Rectangle.width:I
        10: .line 454
            aload 17 /* acceleratorR */
            aload 4 /* fmAccel */
            invokevirtual java.awt.FontMetrics.getHeight:()I
            putfield java.awt.Rectangle.height:I
        11: .line 460
      StackMap locals:
      StackMap stack:
            aload 1 /* menuItem */
            invokestatic com.apple.laf.AquaMenuPainter.isTopLevelMenu:(Ljavax/swing/JMenuItem;)Z
            istore 23 /* isTopLevelMenu */
        start local 23 // boolean isTopLevelMenu
        12: .line 461
            iload 23 /* isTopLevelMenu */
            ifne 25
        13: .line 462
            aload 8 /* checkIcon */
            ifnull 17
        14: .line 463
            aload 18 /* checkIconR */
            aload 8 /* checkIcon */
            invokeinterface javax.swing.Icon.getIconWidth:()I
            putfield java.awt.Rectangle.width:I
        15: .line 464
            aload 18 /* checkIconR */
            aload 8 /* checkIcon */
            invokeinterface javax.swing.Icon.getIconHeight:()I
            putfield java.awt.Rectangle.height:I
        16: .line 465
            goto 18
        17: .line 466
      StackMap locals: int
      StackMap stack:
            aload 18 /* checkIconR */
            aload 18 /* checkIconR */
            bipush 16
            dup_x1
            putfield java.awt.Rectangle.height:I
            putfield java.awt.Rectangle.width:I
        18: .line 472
      StackMap locals:
      StackMap stack:
            aload 9 /* arrowIcon */
            ifnull 22
        19: .line 473
            aload 19 /* arrowIconR */
            aload 9 /* arrowIcon */
            invokeinterface javax.swing.Icon.getIconWidth:()I
            putfield java.awt.Rectangle.width:I
        20: .line 474
            aload 19 /* arrowIconR */
            aload 9 /* arrowIcon */
            invokeinterface javax.swing.Icon.getIconHeight:()I
            putfield java.awt.Rectangle.height:I
        21: .line 475
            goto 23
        22: .line 476
      StackMap locals:
      StackMap stack:
            aload 19 /* arrowIconR */
            aload 19 /* arrowIconR */
            bipush 16
            dup_x1
            putfield java.awt.Rectangle.height:I
            putfield java.awt.Rectangle.width:I
        23: .line 479
      StackMap locals:
      StackMap stack:
            aload 16 /* textR */
            dup
            getfield java.awt.Rectangle.x:I
            bipush 12
            iadd
            putfield java.awt.Rectangle.x:I
        24: .line 480
            aload 15 /* iconR */
            dup
            getfield java.awt.Rectangle.x:I
            bipush 12
            iadd
            putfield java.awt.Rectangle.x:I
        25: .line 483
      StackMap locals:
      StackMap stack:
            aload 15 /* iconR */
            aload 16 /* textR */
            invokevirtual java.awt.Rectangle.union:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 24 /* labelR */
        start local 24 // java.awt.Rectangle labelR
        26: .line 487
            aload 17 /* acceleratorR */
            dup
            getfield java.awt.Rectangle.x:I
            aload 14 /* viewR */
            getfield java.awt.Rectangle.width:I
            aload 19 /* arrowIconR */
            getfield java.awt.Rectangle.width:I
            isub
            aload 17 /* acceleratorR */
            getfield java.awt.Rectangle.width:I
            isub
            iadd
            putfield java.awt.Rectangle.x:I
        27: .line 488
            aload 17 /* acceleratorR */
            aload 14 /* viewR */
            getfield java.awt.Rectangle.y:I
            aload 14 /* viewR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            iadd
            aload 17 /* acceleratorR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            isub
            putfield java.awt.Rectangle.y:I
        28: .line 490
            iload 23 /* isTopLevelMenu */
            ifne 34
        29: .line 493
            aload 19 /* arrowIconR */
            aload 14 /* viewR */
            getfield java.awt.Rectangle.width:I
            aload 19 /* arrowIconR */
            getfield java.awt.Rectangle.width:I
            isub
            iconst_1
            iadd
            putfield java.awt.Rectangle.x:I
        30: .line 494
            aload 19 /* arrowIconR */
            aload 14 /* viewR */
            getfield java.awt.Rectangle.y:I
            aload 24 /* labelR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            iadd
            aload 19 /* arrowIconR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            isub
            iconst_1
            iadd
            putfield java.awt.Rectangle.y:I
        31: .line 496
            aload 18 /* checkIconR */
            aload 14 /* viewR */
            getfield java.awt.Rectangle.y:I
            aload 24 /* labelR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            iadd
            aload 18 /* checkIconR */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            isub
            putfield java.awt.Rectangle.y:I
        32: .line 497
            aload 18 /* checkIconR */
            iconst_5
            putfield java.awt.Rectangle.x:I
        33: .line 499
            aload 16 /* textR */
            dup
            getfield java.awt.Rectangle.width:I
            bipush 8
            iadd
            putfield java.awt.Rectangle.width:I
        34: .line 505
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 1 /* menuItem */
            invokestatic com.apple.laf.AquaUtils.isLeftToRight:(Ljava/awt/Component;)Z
            ifne 41
        35: .line 507
            aload 14 /* viewR */
            getfield java.awt.Rectangle.width:I
            istore 25 /* w */
        start local 25 // int w
        36: .line 508
            aload 18 /* checkIconR */
            iload 25 /* w */
            aload 18 /* checkIconR */
            getfield java.awt.Rectangle.x:I
            aload 18 /* checkIconR */
            getfield java.awt.Rectangle.width:I
            iadd
            isub
            putfield java.awt.Rectangle.x:I
        37: .line 509
            aload 15 /* iconR */
            iload 25 /* w */
            aload 15 /* iconR */
            getfield java.awt.Rectangle.x:I
            aload 15 /* iconR */
            getfield java.awt.Rectangle.width:I
            iadd
            isub
            putfield java.awt.Rectangle.x:I
        38: .line 510
            aload 16 /* textR */
            iload 25 /* w */
            aload 16 /* textR */
            getfield java.awt.Rectangle.x:I
            aload 16 /* textR */
            getfield java.awt.Rectangle.width:I
            iadd
            isub
            putfield java.awt.Rectangle.x:I
        39: .line 511
            aload 17 /* acceleratorR */
            iload 25 /* w */
            aload 17 /* acceleratorR */
            getfield java.awt.Rectangle.x:I
            aload 17 /* acceleratorR */
            getfield java.awt.Rectangle.width:I
            iadd
            isub
            putfield java.awt.Rectangle.x:I
        40: .line 512
            aload 19 /* arrowIconR */
            iload 25 /* w */
            aload 19 /* arrowIconR */
            getfield java.awt.Rectangle.x:I
            aload 19 /* arrowIconR */
            getfield java.awt.Rectangle.width:I
            iadd
            isub
            putfield java.awt.Rectangle.x:I
        end local 25 // int w
        41: .line 514
      StackMap locals:
      StackMap stack:
            aload 16 /* textR */
            dup
            getfield java.awt.Rectangle.x:I
            iload 21 /* menuItemGap */
            iadd
            putfield java.awt.Rectangle.x:I
        42: .line 515
            aload 15 /* iconR */
            dup
            getfield java.awt.Rectangle.x:I
            iload 21 /* menuItemGap */
            iadd
            putfield java.awt.Rectangle.x:I
        43: .line 517
            aload 3 /* text */
            areturn
        end local 24 // java.awt.Rectangle labelR
        end local 23 // boolean isTopLevelMenu
        end local 22 // boolean acceleratorTextIsEmpty
        end local 21 // int menuItemGap
        end local 20 // int textIconGap
        end local 19 // java.awt.Rectangle arrowIconR
        end local 18 // java.awt.Rectangle checkIconR
        end local 17 // java.awt.Rectangle acceleratorR
        end local 16 // java.awt.Rectangle textR
        end local 15 // java.awt.Rectangle iconR
        end local 14 // java.awt.Rectangle viewR
        end local 13 // int horizontalTextPosition
        end local 12 // int verticalTextPosition
        end local 11 // int horizontalAlignment
        end local 10 // int verticalAlignment
        end local 9 // javax.swing.Icon arrowIcon
        end local 8 // javax.swing.Icon checkIcon
        end local 7 // javax.swing.Icon icon
        end local 6 // java.lang.String modifiersString
        end local 5 // java.lang.String keyString
        end local 4 // java.awt.FontMetrics fmAccel
        end local 3 // java.lang.String text
        end local 2 // java.awt.FontMetrics fm
        end local 1 // javax.swing.JMenuItem menuItem
        end local 0 // com.apple.laf.AquaMenuPainter this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   44     0                    this  Lcom/apple/laf/AquaMenuPainter;
            0   44     1                menuItem  Ljavax/swing/JMenuItem;
            0   44     2                      fm  Ljava/awt/FontMetrics;
            0   44     3                    text  Ljava/lang/String;
            0   44     4                 fmAccel  Ljava/awt/FontMetrics;
            0   44     5               keyString  Ljava/lang/String;
            0   44     6         modifiersString  Ljava/lang/String;
            0   44     7                    icon  Ljavax/swing/Icon;
            0   44     8               checkIcon  Ljavax/swing/Icon;
            0   44     9               arrowIcon  Ljavax/swing/Icon;
            0   44    10       verticalAlignment  I
            0   44    11     horizontalAlignment  I
            0   44    12    verticalTextPosition  I
            0   44    13  horizontalTextPosition  I
            0   44    14                   viewR  Ljava/awt/Rectangle;
            0   44    15                   iconR  Ljava/awt/Rectangle;
            0   44    16                   textR  Ljava/awt/Rectangle;
            0   44    17            acceleratorR  Ljava/awt/Rectangle;
            0   44    18              checkIconR  Ljava/awt/Rectangle;
            0   44    19              arrowIconR  Ljava/awt/Rectangle;
            0   44    20             textIconGap  I
            0   44    21             menuItemGap  I
            4   44    22  acceleratorTextIsEmpty  Z
           12   44    23          isTopLevelMenu  Z
           26   44    24                  labelR  Ljava/awt/Rectangle;
           36   41    25                       w  I
    MethodParameters:
                        Name  Flags
      menuItem                final
      fm                      final
      text                    final
      fmAccel                 final
      keyString               
      modifiersString         final
      icon                    final
      checkIcon               final
      arrowIcon               final
      verticalAlignment       final
      horizontalAlignment     final
      verticalTextPosition    final
      horizontalTextPosition  final
      viewR                   final
      iconR                   final
      textR                   final
      acceleratorR            final
      checkIconR              final
      arrowIconR              final
      textIconGap             final
      menuItemGap             final

  public static javax.swing.border.Border getMenuBarPainter();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 521
            new com.apple.laf.AquaBorder$Default
            dup
            invokespecial com.apple.laf.AquaBorder$Default.<init>:()V
            astore 0 /* border */
        start local 0 // com.apple.laf.AquaBorder border
         1: .line 522
            aload 0 /* border */
            getfield com.apple.laf.AquaBorder.painter:Lcom/apple/laf/AquaPainter;
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            getstatic apple.laf.JRSUIConstants$Widget.MENU_BAR:Lapple/laf/JRSUIConstants$Widget;
            invokevirtual apple.laf.JRSUIState.set:(Lapple/laf/JRSUIConstants$Property;)V
         2: .line 523
            aload 0 /* border */
            areturn
        end local 0 // com.apple.laf.AquaBorder border
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    3     0  border  Lcom/apple/laf/AquaBorder;

  public static javax.swing.border.Border getSelectedMenuBarItemPainter();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 527
            new com.apple.laf.AquaBorder$Default
            dup
            invokespecial com.apple.laf.AquaBorder$Default.<init>:()V
            astore 0 /* border */
        start local 0 // com.apple.laf.AquaBorder border
         1: .line 528
            aload 0 /* border */
            getfield com.apple.laf.AquaBorder.painter:Lcom/apple/laf/AquaPainter;
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            getstatic apple.laf.JRSUIConstants$Widget.MENU_TITLE:Lapple/laf/JRSUIConstants$Widget;
            invokevirtual apple.laf.JRSUIState.set:(Lapple/laf/JRSUIConstants$Property;)V
         2: .line 529
            aload 0 /* border */
            getfield com.apple.laf.AquaBorder.painter:Lcom/apple/laf/AquaPainter;
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            getstatic apple.laf.JRSUIConstants$State.PRESSED:Lapple/laf/JRSUIConstants$State;
            invokevirtual apple.laf.JRSUIState.set:(Lapple/laf/JRSUIConstants$Property;)V
         3: .line 530
            aload 0 /* border */
            areturn
        end local 0 // com.apple.laf.AquaBorder border
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    4     0  border  Lcom/apple/laf/AquaBorder;

  public static javax.swing.border.Border getSelectedMenuItemPainter();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 534
            new com.apple.laf.AquaBorder$Default
            dup
            invokespecial com.apple.laf.AquaBorder$Default.<init>:()V
            astore 0 /* border */
        start local 0 // com.apple.laf.AquaBorder border
         1: .line 535
            aload 0 /* border */
            getfield com.apple.laf.AquaBorder.painter:Lcom/apple/laf/AquaPainter;
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            getstatic apple.laf.JRSUIConstants$Widget.MENU_ITEM:Lapple/laf/JRSUIConstants$Widget;
            invokevirtual apple.laf.JRSUIState.set:(Lapple/laf/JRSUIConstants$Property;)V
         2: .line 536
            aload 0 /* border */
            getfield com.apple.laf.AquaBorder.painter:Lcom/apple/laf/AquaPainter;
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            getstatic apple.laf.JRSUIConstants$State.PRESSED:Lapple/laf/JRSUIConstants$State;
            invokevirtual apple.laf.JRSUIState.set:(Lapple/laf/JRSUIConstants$Property;)V
         3: .line 537
            aload 0 /* border */
            areturn
        end local 0 // com.apple.laf.AquaBorder border
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    4     0  border  Lcom/apple/laf/AquaBorder;
}
SourceFile: "AquaMenuPainter.java"
NestMembers:
  com.apple.laf.AquaMenuPainter$Client  com.apple.laf.AquaMenuPainter$RecyclableBorder
InnerClasses:
  public State = apple.laf.JRSUIConstants$State of apple.laf.JRSUIConstants
  public Widget = apple.laf.JRSUIConstants$Widget of apple.laf.JRSUIConstants
  Default = com.apple.laf.AquaBorder$Default of com.apple.laf.AquaBorder
  abstract InvertableIcon = com.apple.laf.AquaIcon$InvertableIcon of com.apple.laf.AquaIcon
  abstract Client = com.apple.laf.AquaMenuPainter$Client of com.apple.laf.AquaMenuPainter
  RecyclableBorder = com.apple.laf.AquaMenuPainter$RecyclableBorder of com.apple.laf.AquaMenuPainter
  abstract RecyclableSingleton = com.apple.laf.AquaUtils$RecyclableSingleton of com.apple.laf.AquaUtils
  RecyclableSingletonFromDefaultConstructor = com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor of com.apple.laf.AquaUtils
  Property = apple.laf.JRSUIConstants$Property of apple.laf.JRSUIConstants