public class javax.swing.JMenu extends javax.swing.JMenuItem implements javax.accessibility.Accessible, javax.swing.MenuElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.JMenu
  super_class: javax.swing.JMenuItem
{
  private static final java.lang.String uiClassID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "MenuUI"

  private javax.swing.JPopupMenu popupMenu;
    descriptor: Ljavax/swing/JPopupMenu;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.event.ChangeListener menuChangeListener;
    descriptor: Ljavax/swing/event/ChangeListener;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.event.MenuEvent menuEvent;
    descriptor: Ljavax/swing/event/MenuEvent;
    flags: (0x0002) ACC_PRIVATE

  private int delay;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Point customMenuLocation;
    descriptor: Ljava/awt/Point;
    flags: (0x0002) ACC_PRIVATE

  private static final boolean TRACE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean VERBOSE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected javax.swing.JMenu$WinListener popupListener;
    descriptor: Ljavax/swing/JMenu$WinListener;
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 151
            aload 0 /* this */
            ldc ""
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
         1: .line 152
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.lang.String s
         0: .line 161
            aload 0 /* this */
            aload 1 /* s */
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
         1: .line 121
            aload 0 /* this */
            aconst_null
            putfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
         3: .line 140
            aload 0 /* this */
            aconst_null
            putfield javax.swing.JMenu.customMenuLocation:Ljava/awt/Point;
         4: .line 162
            return
        end local 1 // java.lang.String s
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JMenu;
            0    5     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public void <init>(javax.swing.Action);
    descriptor: (Ljavax/swing/Action;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.Action a
         0: .line 172
            aload 0 /* this */
            invokespecial javax.swing.JMenu.<init>:()V
         1: .line 173
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual javax.swing.JMenu.setAction:(Ljavax/swing/Action;)V
         2: .line 174
            return
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
            0    3     1     a  Ljavax/swing/Action;
    MethodParameters:
      Name  Flags
      a     

  public void <init>(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // java.lang.String s
        start local 2 // boolean b
         0: .line 184
            aload 0 /* this */
            aload 1 /* s */
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
         1: .line 185
            return
        end local 2 // boolean b
        end local 1 // java.lang.String s
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;
            0    2     1     s  Ljava/lang/String;
            0    2     2     b  Z
    MethodParameters:
      Name  Flags
      s     
      b     

  void initFocusability();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 201
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public void updateUI();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 209
            aload 0 /* this */
            aload 0 /* this */
            invokestatic javax.swing.UIManager.getUI:(Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
            checkcast javax.swing.plaf.MenuItemUI
            invokevirtual javax.swing.JMenu.setUI:(Ljavax/swing/plaf/MenuItemUI;)V
         1: .line 211
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 3
         2: .line 213
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokestatic javax.swing.UIManager.getUI:(Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
            checkcast javax.swing.plaf.PopupMenuUI
            invokevirtual javax.swing.JPopupMenu.setUI:(Ljavax/swing/plaf/PopupMenuUI;)V
         3: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;

  public java.lang.String getUIClassID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 228
            ldc "MenuUI"
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public void setModel(javax.swing.ButtonModel);
    descriptor: (Ljavax/swing/ButtonModel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.ButtonModel newModel
         0: .line 244
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getModel:()Ljavax/swing/ButtonModel;
            astore 2 /* oldModel */
        start local 2 // javax.swing.ButtonModel oldModel
         1: .line 246
            aload 0 /* this */
            aload 1 /* newModel */
            invokespecial javax.swing.JMenuItem.setModel:(Ljavax/swing/ButtonModel;)V
         2: .line 248
            aload 2 /* oldModel */
            ifnull 5
            aload 0 /* this */
            getfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
            ifnull 5
         3: .line 249
            aload 2 /* oldModel */
            aload 0 /* this */
            getfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
            invokeinterface javax.swing.ButtonModel.removeChangeListener:(Ljavax/swing/event/ChangeListener;)V
         4: .line 250
            aload 0 /* this */
            aconst_null
            putfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
         5: .line 253
      StackMap locals: javax.swing.ButtonModel
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newModel */
            putfield javax.swing.JMenu.model:Ljavax/swing/ButtonModel;
         6: .line 255
            aload 1 /* newModel */
            ifnull 9
         7: .line 256
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.createMenuChangeListener:()Ljavax/swing/event/ChangeListener;
            putfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
         8: .line 257
            aload 1 /* newModel */
            aload 0 /* this */
            getfield javax.swing.JMenu.menuChangeListener:Ljavax/swing/event/ChangeListener;
            invokeinterface javax.swing.ButtonModel.addChangeListener:(Ljavax/swing/event/ChangeListener;)V
         9: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.swing.ButtonModel oldModel
        end local 1 // javax.swing.ButtonModel newModel
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/swing/JMenu;
            0   10     1  newModel  Ljavax/swing/ButtonModel;
            1   10     2  oldModel  Ljavax/swing/ButtonModel;
    MethodParameters:
          Name  Flags
      newModel  

  public boolean isSelected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 267
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getModel:()Ljavax/swing/ButtonModel;
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ireturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public void setSelected(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // boolean b
         0: .line 279
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getModel:()Ljavax/swing/ButtonModel;
            astore 2 /* model */
        start local 2 // javax.swing.ButtonModel model
         1: .line 280
            aload 2 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            pop
         2: .line 290
            iload 1 /* b */
            aload 2 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            if_icmpeq 4
         3: .line 291
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getModel:()Ljavax/swing/ButtonModel;
            iload 1 /* b */
            invokeinterface javax.swing.ButtonModel.setSelected:(Z)V
         4: .line 293
      StackMap locals: javax.swing.ButtonModel
      StackMap stack:
            return
        end local 2 // javax.swing.ButtonModel model
        end local 1 // boolean b
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavax/swing/JMenu;
            0    5     1      b  Z
            1    5     2  model  Ljavax/swing/ButtonModel;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(expert = true, hidden = true, description = "When the menu is selected, its popup child is shown.")
    MethodParameters:
      Name  Flags
      b     

  public boolean isPopupMenuVisible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 301
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 302
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JPopupMenu.isVisible:()Z
            ireturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;

  public void setPopupMenuVisible(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // boolean b
         0: .line 320
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.isPopupMenuVisible:()Z
            istore 2 /* isVisible */
        start local 2 // boolean isVisible
         1: .line 321
            iload 1 /* b */
            iload 2 /* isVisible */
            if_icmpeq 10
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.isEnabled:()Z
            ifne 2
            iload 1 /* b */
            ifne 10
         2: .line 322
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         3: .line 323
            iload 1 /* b */
            ifeq 9
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.isShowing:()Z
            ifeq 9
         4: .line 325
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getCustomMenuLocation:()Ljava/awt/Point;
            astore 3 /* p */
        start local 3 // java.awt.Point p
         5: .line 326
            aload 3 /* p */
            ifnonnull 7
         6: .line 327
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getPopupMenuOrigin:()Ljava/awt/Point;
            astore 3 /* p */
         7: .line 329
      StackMap locals: java.awt.Point
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            aload 0 /* this */
            aload 3 /* p */
            getfield java.awt.Point.x:I
            aload 3 /* p */
            getfield java.awt.Point.y:I
            invokevirtual javax.swing.JPopupMenu.show:(Ljava/awt/Component;II)V
        end local 3 // java.awt.Point p
         8: .line 330
            goto 10
         9: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            iconst_0
            invokevirtual javax.swing.JPopupMenu.setVisible:(Z)V
        10: .line 334
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isVisible
        end local 1 // boolean b
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljavax/swing/JMenu;
            0   11     1          b  Z
            1   11     2  isVisible  Z
            5    8     3          p  Ljava/awt/Point;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false, expert = true, hidden = true, description = "The popup menu's visibility")
    MethodParameters:
      Name  Flags
      b     

  protected java.awt.Point getPopupMenuOrigin();
    descriptor: ()Ljava/awt/Point;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 354
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            astore 3 /* pm */
        start local 3 // javax.swing.JPopupMenu pm
         1: .line 356
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getSize:()Ljava/awt/Dimension;
            astore 4 /* s */
        start local 4 // java.awt.Dimension s
         2: .line 357
            aload 3 /* pm */
            invokevirtual javax.swing.JPopupMenu.getSize:()Ljava/awt/Dimension;
            astore 5 /* pmSize */
        start local 5 // java.awt.Dimension pmSize
         3: .line 360
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            ifne 5
         4: .line 361
            aload 3 /* pm */
            invokevirtual javax.swing.JPopupMenu.getPreferredSize:()Ljava/awt/Dimension;
            astore 5 /* pmSize */
         5: .line 363
      StackMap locals: javax.swing.JMenu top top javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getLocationOnScreen:()Ljava/awt/Point;
            astore 6 /* position */
        start local 6 // java.awt.Point position
         6: .line 364
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 7 /* toolkit */
        start local 7 // java.awt.Toolkit toolkit
         7: .line 365
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getGraphicsConfiguration:()Ljava/awt/GraphicsConfiguration;
            astore 8 /* gc */
        start local 8 // java.awt.GraphicsConfiguration gc
         8: .line 366
            new java.awt.Rectangle
            dup
            aload 7 /* toolkit */
            invokevirtual java.awt.Toolkit.getScreenSize:()Ljava/awt/Dimension;
            invokespecial java.awt.Rectangle.<init>:(Ljava/awt/Dimension;)V
            astore 9 /* screenBounds */
        start local 9 // java.awt.Rectangle screenBounds
         9: .line 368
            invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
        10: .line 367
            astore 10 /* ge */
        start local 10 // java.awt.GraphicsEnvironment ge
        11: .line 369
            aload 10 /* ge */
            invokevirtual java.awt.GraphicsEnvironment.getScreenDevices:()[Ljava/awt/GraphicsDevice;
            astore 11 /* gd */
        start local 11 // java.awt.GraphicsDevice[] gd
        12: .line 370
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        13: goto 21
        14: .line 371
      StackMap locals: javax.swing.JMenu top top javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension java.awt.Point java.awt.Toolkit java.awt.GraphicsConfiguration java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] int
      StackMap stack:
            aload 11 /* gd */
            iload 12 /* i */
            aaload
            invokevirtual java.awt.GraphicsDevice.getType:()I
            ifne 20
        15: .line 373
            aload 11 /* gd */
            iload 12 /* i */
            aaload
            invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
        16: .line 372
            astore 13 /* dgc */
        start local 13 // java.awt.GraphicsConfiguration dgc
        17: .line 374
            aload 13 /* dgc */
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            aload 6 /* position */
            invokevirtual java.awt.Rectangle.contains:(Ljava/awt/Point;)Z
            ifeq 20
        18: .line 375
            aload 13 /* dgc */
            astore 8 /* gc */
        19: .line 376
            goto 22
        end local 13 // java.awt.GraphicsConfiguration dgc
        20: .line 370
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 12 /* i */
            aload 11 /* gd */
            arraylength
            if_icmplt 14
        end local 12 // int i
        22: .line 382
      StackMap locals:
      StackMap stack:
            aload 8 /* gc */
            ifnull 33
        23: .line 383
            aload 8 /* gc */
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            astore 9 /* screenBounds */
        24: .line 385
            aload 7 /* toolkit */
            aload 8 /* gc */
            invokevirtual java.awt.Toolkit.getScreenInsets:(Ljava/awt/GraphicsConfiguration;)Ljava/awt/Insets;
            astore 12 /* screenInsets */
        start local 12 // java.awt.Insets screenInsets
        25: .line 387
            aload 9 /* screenBounds */
            dup
            getfield java.awt.Rectangle.width:I
        26: .line 388
            aload 12 /* screenInsets */
            getfield java.awt.Insets.left:I
            aload 12 /* screenInsets */
            getfield java.awt.Insets.right:I
            iadd
            invokestatic java.lang.Math.abs:(I)I
            isub
        27: .line 387
            putfield java.awt.Rectangle.width:I
        28: .line 389
            aload 9 /* screenBounds */
            dup
            getfield java.awt.Rectangle.height:I
        29: .line 390
            aload 12 /* screenInsets */
            getfield java.awt.Insets.top:I
            aload 12 /* screenInsets */
            getfield java.awt.Insets.bottom:I
            iadd
            invokestatic java.lang.Math.abs:(I)I
            isub
        30: .line 389
            putfield java.awt.Rectangle.height:I
        31: .line 391
            aload 6 /* position */
            dup
            getfield java.awt.Point.x:I
            aload 12 /* screenInsets */
            getfield java.awt.Insets.left:I
            invokestatic java.lang.Math.abs:(I)I
            isub
            putfield java.awt.Point.x:I
        32: .line 392
            aload 6 /* position */
            dup
            getfield java.awt.Point.y:I
            aload 12 /* screenInsets */
            getfield java.awt.Insets.top:I
            invokestatic java.lang.Math.abs:(I)I
            isub
            putfield java.awt.Point.y:I
        end local 12 // java.awt.Insets screenInsets
        33: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getParent:()Ljava/awt/Container;
            astore 12 /* parent */
        start local 12 // java.awt.Container parent
        34: .line 396
            aload 12 /* parent */
            instanceof javax.swing.JPopupMenu
            ifeq 57
        35: .line 398
            ldc "Menu.submenuPopupOffsetX"
            invokestatic javax.swing.UIManager.getInt:(Ljava/lang/Object;)I
            istore 13 /* xOffset */
        start local 13 // int xOffset
        36: .line 399
            ldc "Menu.submenuPopupOffsetY"
            invokestatic javax.swing.UIManager.getInt:(Ljava/lang/Object;)I
            istore 14 /* yOffset */
        start local 14 // int yOffset
        37: .line 401
            aload 0 /* this */
            invokestatic javax.swing.SwingUtilities.isLeftToRight:(Ljava/awt/Component;)Z
            ifeq 45
        38: .line 403
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            iload 13 /* xOffset */
            iadd
            istore 1 /* x */
        start local 1 // int x
        39: .line 404
            aload 6 /* position */
            getfield java.awt.Point.x:I
            iload 1 /* x */
            iadd
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
        40: .line 405
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            iadd
            if_icmplt 50
        41: .line 407
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.x:I
        42: .line 408
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            isub
            imul
            if_icmpge 50
        43: .line 410
            iconst_0
            iload 13 /* xOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            isub
            istore 1 /* x */
        44: .line 412
            goto 50
        end local 1 // int x
        45: .line 414
      StackMap locals: java.awt.Container int int
      StackMap stack:
            iconst_0
            iload 13 /* xOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            isub
            istore 1 /* x */
        start local 1 // int x
        46: .line 415
            aload 6 /* position */
            getfield java.awt.Point.x:I
            iload 1 /* x */
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            if_icmpge 50
        47: .line 417
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.x:I
        48: .line 418
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            isub
            imul
            if_icmple 50
        49: .line 420
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            iload 13 /* xOffset */
            iadd
            istore 1 /* x */
        50: .line 424
      StackMap locals: javax.swing.JMenu int top javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension java.awt.Point java.awt.Toolkit java.awt.GraphicsConfiguration java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] java.awt.Container int int
      StackMap stack:
            iload 14 /* yOffset */
            istore 2 /* y */
        start local 2 // int y
        51: .line 425
            aload 6 /* position */
            getfield java.awt.Point.y:I
            iload 2 /* y */
            iadd
            aload 5 /* pmSize */
            getfield java.awt.Dimension.height:I
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.height:I
        52: .line 426
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.y:I
            iadd
            if_icmplt 78
        53: .line 428
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.height:I
            aload 4 /* s */
            getfield java.awt.Dimension.height:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.y:I
        54: .line 429
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.y:I
            isub
            imul
            if_icmpge 78
        55: .line 431
            aload 4 /* s */
            getfield java.awt.Dimension.height:I
            iload 14 /* yOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.height:I
            isub
            istore 2 /* y */
        end local 14 // int yOffset
        end local 13 // int xOffset
        56: .line 433
            goto 78
        end local 2 // int y
        end local 1 // int x
        57: .line 435
      StackMap locals: javax.swing.JMenu top top javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension java.awt.Point java.awt.Toolkit java.awt.GraphicsConfiguration java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] java.awt.Container
      StackMap stack:
            ldc "Menu.menuPopupOffsetX"
            invokestatic javax.swing.UIManager.getInt:(Ljava/lang/Object;)I
            istore 13 /* xOffset */
        start local 13 // int xOffset
        58: .line 436
            ldc "Menu.menuPopupOffsetY"
            invokestatic javax.swing.UIManager.getInt:(Ljava/lang/Object;)I
            istore 14 /* yOffset */
        start local 14 // int yOffset
        59: .line 438
            aload 0 /* this */
            invokestatic javax.swing.SwingUtilities.isLeftToRight:(Ljava/awt/Component;)Z
            ifeq 67
        60: .line 440
            iload 13 /* xOffset */
            istore 1 /* x */
        start local 1 // int x
        61: .line 441
            aload 6 /* position */
            getfield java.awt.Point.x:I
            iload 1 /* x */
            iadd
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
        62: .line 442
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            iadd
            if_icmplt 72
        63: .line 444
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.x:I
        64: .line 445
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            isub
            imul
            if_icmpge 72
        65: .line 447
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            iload 13 /* xOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            isub
            istore 1 /* x */
        66: .line 449
            goto 72
        end local 1 // int x
        67: .line 451
      StackMap locals: int int
      StackMap stack:
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            iload 13 /* xOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.width:I
            isub
            istore 1 /* x */
        start local 1 // int x
        68: .line 452
            aload 6 /* position */
            getfield java.awt.Point.x:I
            iload 1 /* x */
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            if_icmpge 72
        69: .line 454
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.width:I
            aload 4 /* s */
            getfield java.awt.Dimension.width:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.x:I
        70: .line 455
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.x:I
            isub
            imul
            if_icmple 72
        71: .line 457
            iload 13 /* xOffset */
            istore 1 /* x */
        72: .line 461
      StackMap locals: javax.swing.JMenu int top javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension java.awt.Point java.awt.Toolkit java.awt.GraphicsConfiguration java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] java.awt.Container int int
      StackMap stack:
            aload 4 /* s */
            getfield java.awt.Dimension.height:I
            iload 14 /* yOffset */
            iadd
            istore 2 /* y */
        start local 2 // int y
        73: .line 462
            aload 6 /* position */
            getfield java.awt.Point.y:I
            iload 2 /* y */
            iadd
            aload 5 /* pmSize */
            getfield java.awt.Dimension.height:I
            iadd
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.height:I
        74: .line 463
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.y:I
            iadd
            if_icmplt 78
        75: .line 465
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.height:I
            aload 4 /* s */
            getfield java.awt.Dimension.height:I
            isub
            iconst_2
            aload 6 /* position */
            getfield java.awt.Point.y:I
        76: .line 466
            aload 9 /* screenBounds */
            getfield java.awt.Rectangle.y:I
            isub
            imul
            if_icmpge 78
        77: .line 468
            iconst_0
            iload 14 /* yOffset */
            isub
            aload 5 /* pmSize */
            getfield java.awt.Dimension.height:I
            isub
            istore 2 /* y */
        end local 14 // int yOffset
        end local 13 // int xOffset
        78: .line 471
      StackMap locals: javax.swing.JMenu int int javax.swing.JPopupMenu java.awt.Dimension java.awt.Dimension java.awt.Point java.awt.Toolkit java.awt.GraphicsConfiguration java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] java.awt.Container
      StackMap stack:
            new java.awt.Point
            dup
            iload 1 /* x */
            iload 2 /* y */
            invokespecial java.awt.Point.<init>:(II)V
            areturn
        end local 12 // java.awt.Container parent
        end local 11 // java.awt.GraphicsDevice[] gd
        end local 10 // java.awt.GraphicsEnvironment ge
        end local 9 // java.awt.Rectangle screenBounds
        end local 8 // java.awt.GraphicsConfiguration gc
        end local 7 // java.awt.Toolkit toolkit
        end local 6 // java.awt.Point position
        end local 5 // java.awt.Dimension pmSize
        end local 4 // java.awt.Dimension s
        end local 3 // javax.swing.JPopupMenu pm
        end local 2 // int y
        end local 1 // int x
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   79     0          this  Ljavax/swing/JMenu;
           39   45     1             x  I
           46   57     1             x  I
           61   67     1             x  I
           68   79     1             x  I
           51   57     2             y  I
           73   79     2             y  I
            1   79     3            pm  Ljavax/swing/JPopupMenu;
            2   79     4             s  Ljava/awt/Dimension;
            3   79     5        pmSize  Ljava/awt/Dimension;
            6   79     6      position  Ljava/awt/Point;
            7   79     7       toolkit  Ljava/awt/Toolkit;
            8   79     8            gc  Ljava/awt/GraphicsConfiguration;
            9   79     9  screenBounds  Ljava/awt/Rectangle;
           11   79    10            ge  Ljava/awt/GraphicsEnvironment;
           12   79    11            gd  [Ljava/awt/GraphicsDevice;
           13   22    12             i  I
           17   20    13           dgc  Ljava/awt/GraphicsConfiguration;
           25   33    12  screenInsets  Ljava/awt/Insets;
           34   79    12        parent  Ljava/awt/Container;
           36   56    13       xOffset  I
           37   56    14       yOffset  I
           58   78    13       xOffset  I
           59   78    14       yOffset  I

  public int getDelay();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 489
            aload 0 /* this */
            getfield javax.swing.JMenu.delay:I
            ireturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public void setDelay(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int d
         0: .line 507
            iload 1 /* d */
            ifge 2
         1: .line 508
            new java.lang.IllegalArgumentException
            dup
            ldc "Delay must be a positive integer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* d */
            putfield javax.swing.JMenu.delay:I
         3: .line 511
            return
        end local 1 // int d
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;
            0    4     1     d  I
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false, expert = true, description = "The delay between menu selection and making the popup menu visible")
    MethodParameters:
      Name  Flags
      d     

  private void ensurePopupMenuCreated();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 521
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnonnull 4
         1: .line 523
            aload 0 /* this */
            new javax.swing.JPopupMenu
            dup
            invokespecial javax.swing.JPopupMenu.<init>:()V
            putfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
         2: .line 524
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 0 /* this */
            invokevirtual javax.swing.JPopupMenu.setInvoker:(Ljava/awt/Component;)V
         3: .line 525
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JMenu.createWinListener:(Ljavax/swing/JPopupMenu;)Ljavax/swing/JMenu$WinListener;
            putfield javax.swing.JMenu.popupListener:Ljavax/swing/JMenu$WinListener;
         4: .line 527
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JMenu;

  private java.awt.Point getCustomMenuLocation();
    descriptor: ()Ljava/awt/Point;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 533
            aload 0 /* this */
            getfield javax.swing.JMenu.customMenuLocation:Ljava/awt/Point;
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public void setMenuLocation(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // int x
        start local 2 // int y
         0: .line 543
            aload 0 /* this */
            new java.awt.Point
            dup
            iload 1 /* x */
            iload 2 /* y */
            invokespecial java.awt.Point.<init>:(II)V
            putfield javax.swing.JMenu.customMenuLocation:Ljava/awt/Point;
         1: .line 544
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 3
         2: .line 545
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual javax.swing.JPopupMenu.setLocation:(II)V
         3: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int y
        end local 1 // int x
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;
            0    4     1     x  I
            0    4     2     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public javax.swing.JMenuItem add(javax.swing.JMenuItem);
    descriptor: (Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JMenuItem menuItem
         0: .line 556
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 557
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* menuItem */
            invokevirtual javax.swing.JPopupMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            areturn
        end local 1 // javax.swing.JMenuItem menuItem
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavax/swing/JMenu;
            0    2     1  menuItem  Ljavax/swing/JMenuItem;
    MethodParameters:
          Name  Flags
      menuItem  

  public java.awt.Component add(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.Component c
         0: .line 568
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 569
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* c */
            invokevirtual javax.swing.JPopupMenu.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
         2: .line 570
            aload 1 /* c */
            areturn
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
            0    3     1     c  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      c     

  public java.awt.Component add(java.awt.Component, int);
    descriptor: (Ljava/awt/Component;I)Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.Component c
        start local 2 // int index
         0: .line 584
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 585
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* c */
            iload 2 /* index */
            invokevirtual javax.swing.JPopupMenu.add:(Ljava/awt/Component;I)Ljava/awt/Component;
            pop
         2: .line 586
            aload 1 /* c */
            areturn
        end local 2 // int index
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/swing/JMenu;
            0    3     1      c  Ljava/awt/Component;
            0    3     2  index  I
    MethodParameters:
       Name  Flags
      c      
      index  

  public javax.swing.JMenuItem add(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.lang.String s
         0: .line 597
            aload 0 /* this */
            new javax.swing.JMenuItem
            dup
            aload 1 /* s */
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            areturn
        end local 1 // java.lang.String s
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public javax.swing.JMenuItem add(javax.swing.Action);
    descriptor: (Ljavax/swing/Action;)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.Action a
         0: .line 609
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual javax.swing.JMenu.createActionComponent:(Ljavax/swing/Action;)Ljavax/swing/JMenuItem;
            astore 2 /* mi */
        start local 2 // javax.swing.JMenuItem mi
         1: .line 610
            aload 2 /* mi */
            aload 1 /* a */
            invokevirtual javax.swing.JMenuItem.setAction:(Ljavax/swing/Action;)V
         2: .line 611
            aload 0 /* this */
            aload 2 /* mi */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
         3: .line 612
            aload 2 /* mi */
            areturn
        end local 2 // javax.swing.JMenuItem mi
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;
            0    4     1     a  Ljavax/swing/Action;
            1    4     2    mi  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      a     

  protected javax.swing.JMenuItem createActionComponent(javax.swing.Action);
    descriptor: (Ljavax/swing/Action;)Ljavax/swing/JMenuItem;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.Action a
         0: .line 626
            new javax.swing.JMenu$1
            dup
            aload 0 /* this */
            invokespecial javax.swing.JMenu$1.<init>:(Ljavax/swing/JMenu;)V
            astore 2 /* mi */
        start local 2 // javax.swing.JMenuItem mi
         1: .line 635
            aload 2 /* mi */
            bipush 11
            invokevirtual javax.swing.JMenuItem.setHorizontalTextPosition:(I)V
         2: .line 636
            aload 2 /* mi */
            iconst_0
            invokevirtual javax.swing.JMenuItem.setVerticalTextPosition:(I)V
         3: .line 637
            aload 2 /* mi */
            areturn
        end local 2 // javax.swing.JMenuItem mi
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;
            0    4     1     a  Ljavax/swing/Action;
            1    4     2    mi  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      a     

  protected java.beans.PropertyChangeListener createActionChangeListener(javax.swing.JMenuItem);
    descriptor: (Ljavax/swing/JMenuItem;)Ljava/beans/PropertyChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JMenuItem b
         0: .line 648
            aload 1 /* b */
            aload 1 /* b */
            invokevirtual javax.swing.JMenuItem.getAction:()Ljavax/swing/Action;
            invokevirtual javax.swing.JMenuItem.createActionPropertyChangeListener0:(Ljavax/swing/Action;)Ljava/beans/PropertyChangeListener;
            areturn
        end local 1 // javax.swing.JMenuItem b
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
            0    1     1     b  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      b     

  public void addSeparator();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 656
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 657
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JPopupMenu.addSeparator:()V
         2: .line 658
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;

  public void insert(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // java.lang.String s
        start local 2 // int pos
         0: .line 671
            iload 2 /* pos */
            ifge 2
         1: .line 672
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         3: .line 676
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            new javax.swing.JMenuItem
            dup
            aload 1 /* s */
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
            iload 2 /* pos */
            invokevirtual javax.swing.JPopupMenu.insert:(Ljava/awt/Component;I)V
         4: .line 677
            return
        end local 2 // int pos
        end local 1 // java.lang.String s
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JMenu;
            0    5     1     s  Ljava/lang/String;
            0    5     2   pos  I
    MethodParameters:
      Name  Flags
      s     
      pos   

  public javax.swing.JMenuItem insert(javax.swing.JMenuItem, int);
    descriptor: (Ljavax/swing/JMenuItem;I)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JMenuItem mi
        start local 2 // int pos
         0: .line 690
            iload 2 /* pos */
            ifge 2
         1: .line 691
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         3: .line 694
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* mi */
            iload 2 /* pos */
            invokevirtual javax.swing.JPopupMenu.insert:(Ljava/awt/Component;I)V
         4: .line 695
            aload 1 /* mi */
            areturn
        end local 2 // int pos
        end local 1 // javax.swing.JMenuItem mi
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JMenu;
            0    5     1    mi  Ljavax/swing/JMenuItem;
            0    5     2   pos  I
    MethodParameters:
      Name  Flags
      mi    
      pos   

  public javax.swing.JMenuItem insert(javax.swing.Action, int);
    descriptor: (Ljavax/swing/Action;I)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.Action a
        start local 2 // int pos
         0: .line 710
            iload 2 /* pos */
            ifge 2
         1: .line 711
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         3: .line 715
            new javax.swing.JMenuItem
            dup
            aload 1 /* a */
            invokespecial javax.swing.JMenuItem.<init>:(Ljavax/swing/Action;)V
            astore 3 /* mi */
        start local 3 // javax.swing.JMenuItem mi
         4: .line 716
            aload 3 /* mi */
            bipush 11
            invokevirtual javax.swing.JMenuItem.setHorizontalTextPosition:(I)V
         5: .line 717
            aload 3 /* mi */
            iconst_0
            invokevirtual javax.swing.JMenuItem.setVerticalTextPosition:(I)V
         6: .line 718
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 3 /* mi */
            iload 2 /* pos */
            invokevirtual javax.swing.JPopupMenu.insert:(Ljava/awt/Component;I)V
         7: .line 719
            aload 3 /* mi */
            areturn
        end local 3 // javax.swing.JMenuItem mi
        end local 2 // int pos
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/swing/JMenu;
            0    8     1     a  Ljavax/swing/Action;
            0    8     2   pos  I
            4    8     3    mi  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      a     
      pos   

  public void insertSeparator(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int index
         0: .line 731
            iload 1 /* index */
            ifge 2
         1: .line 732
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         3: .line 736
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            new javax.swing.JPopupMenu$Separator
            dup
            invokespecial javax.swing.JPopupMenu$Separator.<init>:()V
            iload 1 /* index */
            invokevirtual javax.swing.JPopupMenu.insert:(Ljava/awt/Component;I)V
         4: .line 737
            return
        end local 1 // int index
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavax/swing/JMenu;
            0    5     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public javax.swing.JMenuItem getItem(int);
    descriptor: (I)Ljavax/swing/JMenuItem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int pos
         0: .line 752
            iload 1 /* pos */
            ifge 2
         1: .line 753
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual javax.swing.JMenu.getMenuComponent:(I)Ljava/awt/Component;
            astore 2 /* c */
        start local 2 // java.awt.Component c
         3: .line 757
            aload 2 /* c */
            instanceof javax.swing.JMenuItem
            ifeq 6
         4: .line 758
            aload 2 /* c */
            checkcast javax.swing.JMenuItem
            astore 3 /* mi */
        start local 3 // javax.swing.JMenuItem mi
         5: .line 759
            aload 3 /* mi */
            areturn
        end local 3 // javax.swing.JMenuItem mi
         6: .line 763
      StackMap locals: java.awt.Component
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.awt.Component c
        end local 1 // int pos
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/JMenu;
            0    7     1   pos  I
            3    7     2     c  Ljava/awt/Component;
            5    6     3    mi  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      pos   

  public int getItemCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 775
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getMenuComponentCount:()I
            ireturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public boolean isTearOff();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 787
            new java.lang.Error
            dup
            ldc "boolean isTearOff() {} not yet implemented"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public void remove(javax.swing.JMenuItem);
    descriptor: (Ljavax/swing/JMenuItem;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JMenuItem item
         0: .line 797
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 2
         1: .line 798
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* item */
            invokevirtual javax.swing.JPopupMenu.remove:(Ljava/awt/Component;)V
         2: .line 799
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JMenuItem item
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
            0    3     1  item  Ljavax/swing/JMenuItem;
    MethodParameters:
      Name  Flags
      item  

  public void remove(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int pos
         0: .line 810
            iload 1 /* pos */
            ifge 2
         1: .line 811
            new java.lang.IllegalArgumentException
            dup
            ldc "index less than zero."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 813
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getItemCount:()I
            if_icmple 4
         3: .line 814
            new java.lang.IllegalArgumentException
            dup
            ldc "index greater than the number of items."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 6
         5: .line 817
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            iload 1 /* pos */
            invokevirtual javax.swing.JPopupMenu.remove:(I)V
         6: .line 818
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int pos
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/JMenu;
            0    7     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  public void remove(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.Component c
         0: .line 826
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 2
         1: .line 827
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* c */
            invokevirtual javax.swing.JPopupMenu.remove:(Ljava/awt/Component;)V
         2: .line 828
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
            0    3     1     c  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      c     

  public void removeAll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 834
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 2
         1: .line 835
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JPopupMenu.removeAll:()V
         2: .line 836
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;

  public int getMenuComponentCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 845
            iconst_0
            istore 1 /* componentCount */
        start local 1 // int componentCount
         1: .line 846
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 3
         2: .line 847
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JPopupMenu.getComponentCount:()I
            istore 1 /* componentCount */
         3: .line 848
      StackMap locals: int
      StackMap stack:
            iload 1 /* componentCount */
            ireturn
        end local 1 // int componentCount
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljavax/swing/JMenu;
            1    4     1  componentCount  I
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public java.awt.Component getMenuComponent(int);
    descriptor: (I)Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int n
         0: .line 860
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 2
         1: .line 861
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            iload 1 /* n */
            invokevirtual javax.swing.JPopupMenu.getComponent:(I)Ljava/awt/Component;
            areturn
         2: .line 863
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int n
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public java.awt.Component[] getMenuComponents();
    descriptor: ()[Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 876
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 2
         1: .line 877
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            invokevirtual javax.swing.JPopupMenu.getComponents:()[Ljava/awt/Component;
            areturn
         2: .line 879
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.awt.Component
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public boolean isTopLevelMenu();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 892
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getParent:()Ljava/awt/Container;
            instanceof javax.swing.JMenuBar
            ireturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public boolean isMenuComponent(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.Component c
         0: .line 905
            aload 1 /* c */
            aload 0 /* this */
            if_acmpne 2
         1: .line 906
            iconst_1
            ireturn
         2: .line 908
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            instanceof javax.swing.JPopupMenu
            ifeq 6
         3: .line 909
            aload 1 /* c */
            checkcast javax.swing.JPopupMenu
            astore 2 /* comp */
        start local 2 // javax.swing.JPopupMenu comp
         4: .line 910
            aload 2 /* comp */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            if_acmpne 6
         5: .line 911
            iconst_1
            ireturn
        end local 2 // javax.swing.JPopupMenu comp
         6: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getMenuComponentCount:()I
            istore 2 /* ncomponents */
        start local 2 // int ncomponents
         7: .line 915
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getMenuComponents:()[Ljava/awt/Component;
            astore 3 /* component */
        start local 3 // java.awt.Component[] component
         8: .line 916
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 18
        10: .line 917
      StackMap locals: int java.awt.Component[] int
      StackMap stack:
            aload 3 /* component */
            iload 4 /* i */
            aaload
            astore 5 /* comp */
        start local 5 // java.awt.Component comp
        11: .line 919
            aload 5 /* comp */
            aload 1 /* c */
            if_acmpne 13
        12: .line 920
            iconst_1
            ireturn
        13: .line 924
      StackMap locals: java.awt.Component
      StackMap stack:
            aload 5 /* comp */
            instanceof javax.swing.JMenu
            ifeq 17
        14: .line 925
            aload 5 /* comp */
            checkcast javax.swing.JMenu
            astore 6 /* subMenu */
        start local 6 // javax.swing.JMenu subMenu
        15: .line 926
            aload 6 /* subMenu */
            aload 1 /* c */
            invokevirtual javax.swing.JMenu.isMenuComponent:(Ljava/awt/Component;)Z
            ifeq 17
        16: .line 927
            iconst_1
            ireturn
        end local 6 // javax.swing.JMenu subMenu
        end local 5 // java.awt.Component comp
        17: .line 916
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            iload 2 /* ncomponents */
            if_icmplt 10
        end local 4 // int i
        19: .line 930
            iconst_0
            ireturn
        end local 3 // java.awt.Component[] component
        end local 2 // int ncomponents
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Ljavax/swing/JMenu;
            0   20     1            c  Ljava/awt/Component;
            4    6     2         comp  Ljavax/swing/JPopupMenu;
            7   20     2  ncomponents  I
            8   20     3    component  [Ljava/awt/Component;
            9   19     4            i  I
           11   17     5         comp  Ljava/awt/Component;
           15   17     6      subMenu  Ljavax/swing/JMenu;
    MethodParameters:
      Name  Flags
      c     

  private java.awt.Point translateToPopupMenu(java.awt.Point);
    descriptor: (Ljava/awt/Point;)Ljava/awt/Point;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.Point p
         0: .line 943
            aload 0 /* this */
            aload 1 /* p */
            getfield java.awt.Point.x:I
            aload 1 /* p */
            getfield java.awt.Point.y:I
            invokevirtual javax.swing.JMenu.translateToPopupMenu:(II)Ljava/awt/Point;
            areturn
        end local 1 // java.awt.Point p
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
            0    1     1     p  Ljava/awt/Point;
    MethodParameters:
      Name  Flags
      p     

  private java.awt.Point translateToPopupMenu(int, int);
    descriptor: (II)Ljava/awt/Point;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // javax.swing.JMenu this
        start local 1 // int x
        start local 2 // int y
         0: .line 958
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getParent:()Ljava/awt/Container;
            instanceof javax.swing.JPopupMenu
            ifeq 4
         1: .line 959
            iload 1 /* x */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getSize:()Ljava/awt/Dimension;
            getfield java.awt.Dimension.width:I
            isub
            istore 3 /* newX */
        start local 3 // int newX
         2: .line 960
            iload 2 /* y */
            istore 4 /* newY */
        start local 4 // int newY
         3: .line 961
            goto 6
        end local 4 // int newY
        end local 3 // int newX
         4: .line 962
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            istore 3 /* newX */
        start local 3 // int newX
         5: .line 963
            iload 2 /* y */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getSize:()Ljava/awt/Dimension;
            getfield java.awt.Dimension.height:I
            isub
            istore 4 /* newY */
        start local 4 // int newY
         6: .line 966
      StackMap locals: int int
      StackMap stack:
            new java.awt.Point
            dup
            iload 3 /* newX */
            iload 4 /* newY */
            invokespecial java.awt.Point.<init>:(II)V
            areturn
        end local 4 // int newY
        end local 3 // int newX
        end local 2 // int y
        end local 1 // int x
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/JMenu;
            0    7     1     x  I
            0    7     2     y  I
            2    4     3  newX  I
            5    7     3  newX  I
            3    4     4  newY  I
            6    7     4  newY  I
    MethodParameters:
      Name  Flags
      x     
      y     

  public javax.swing.JPopupMenu getPopupMenu();
    descriptor: ()Ljavax/swing/JPopupMenu;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 977
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.ensurePopupMenuCreated:()V
         1: .line 978
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public void addMenuListener(javax.swing.event.MenuListener);
    descriptor: (Ljavax/swing/event/MenuListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.event.MenuListener l
         0: .line 987
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            ldc Ljavax/swing/event/MenuListener;
            aload 1 /* l */
            invokevirtual javax.swing.event.EventListenerList.add:(Ljava/lang/Class;Ljava/util/EventListener;)V
         1: .line 988
            return
        end local 1 // javax.swing.event.MenuListener l
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;
            0    2     1     l  Ljavax/swing/event/MenuListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeMenuListener(javax.swing.event.MenuListener);
    descriptor: (Ljavax/swing/event/MenuListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.event.MenuListener l
         0: .line 996
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            ldc Ljavax/swing/event/MenuListener;
            aload 1 /* l */
            invokevirtual javax.swing.event.EventListenerList.remove:(Ljava/lang/Class;Ljava/util/EventListener;)V
         1: .line 997
            return
        end local 1 // javax.swing.event.MenuListener l
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/JMenu;
            0    2     1     l  Ljavax/swing/event/MenuListener;
    MethodParameters:
      Name  Flags
      l     

  public javax.swing.event.MenuListener[] getMenuListeners();
    descriptor: ()[Ljavax/swing/event/MenuListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1009
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            ldc Ljavax/swing/event/MenuListener;
            invokevirtual javax.swing.event.EventListenerList.getListeners:(Ljava/lang/Class;)[Ljava/util/EventListener;
            checkcast javax.swing.event.MenuListener[]
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  protected void fireMenuSelected();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1025
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            invokevirtual javax.swing.event.EventListenerList.getListenerList:()[Ljava/lang/Object;
            astore 1 /* listeners */
        start local 1 // java.lang.Object[] listeners
         1: .line 1028
            aload 1 /* listeners */
            arraylength
            iconst_2
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 10
         3: .line 1029
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            aaload
            ldc Ljavax/swing/event/MenuListener;
            if_acmpne 9
         4: .line 1030
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            ifnonnull 6
         5: .line 1031
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getText:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " has a NULL Listener!! "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            ifnonnull 8
         7: .line 1035
            aload 0 /* this */
            new javax.swing.event.MenuEvent
            dup
            aload 0 /* this */
            invokespecial javax.swing.event.MenuEvent.<init>:(Ljava/lang/Object;)V
            putfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
         8: .line 1036
      StackMap locals:
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast javax.swing.event.MenuListener
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            invokeinterface javax.swing.event.MenuListener.menuSelected:(Ljavax/swing/event/MenuEvent;)V
         9: .line 1028
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -2
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            ifge 3
        end local 2 // int i
        11: .line 1040
            return
        end local 1 // java.lang.Object[] listeners
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljavax/swing/JMenu;
            1   12     1  listeners  [Ljava/lang/Object;
            2   11     2          i  I

  protected void fireMenuDeselected();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1055
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            invokevirtual javax.swing.event.EventListenerList.getListenerList:()[Ljava/lang/Object;
            astore 1 /* listeners */
        start local 1 // java.lang.Object[] listeners
         1: .line 1058
            aload 1 /* listeners */
            arraylength
            iconst_2
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 10
         3: .line 1059
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            aaload
            ldc Ljavax/swing/event/MenuListener;
            if_acmpne 9
         4: .line 1060
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            ifnonnull 6
         5: .line 1061
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getText:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " has a NULL Listener!! "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            ifnonnull 8
         7: .line 1065
            aload 0 /* this */
            new javax.swing.event.MenuEvent
            dup
            aload 0 /* this */
            invokespecial javax.swing.event.MenuEvent.<init>:(Ljava/lang/Object;)V
            putfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
         8: .line 1066
      StackMap locals:
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast javax.swing.event.MenuListener
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            invokeinterface javax.swing.event.MenuListener.menuDeselected:(Ljavax/swing/event/MenuEvent;)V
         9: .line 1058
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -2
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            ifge 3
        end local 2 // int i
        11: .line 1070
            return
        end local 1 // java.lang.Object[] listeners
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljavax/swing/JMenu;
            1   12     1  listeners  [Ljava/lang/Object;
            2   11     2          i  I

  protected void fireMenuCanceled();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1085
            aload 0 /* this */
            getfield javax.swing.JMenu.listenerList:Ljavax/swing/event/EventListenerList;
            invokevirtual javax.swing.event.EventListenerList.getListenerList:()[Ljava/lang/Object;
            astore 1 /* listeners */
        start local 1 // java.lang.Object[] listeners
         1: .line 1088
            aload 1 /* listeners */
            arraylength
            iconst_2
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 12
         3: .line 1089
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            aaload
            ldc Ljavax/swing/event/MenuListener;
            if_acmpne 11
         4: .line 1090
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            ifnonnull 8
         5: .line 1091
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getText:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " has a NULL Listener!! "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1092
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1091
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            ifnonnull 10
         9: .line 1096
            aload 0 /* this */
            new javax.swing.event.MenuEvent
            dup
            aload 0 /* this */
            invokespecial javax.swing.event.MenuEvent.<init>:(Ljava/lang/Object;)V
            putfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
        10: .line 1097
      StackMap locals:
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast javax.swing.event.MenuListener
            aload 0 /* this */
            getfield javax.swing.JMenu.menuEvent:Ljavax/swing/event/MenuEvent;
            invokeinterface javax.swing.event.MenuListener.menuCanceled:(Ljavax/swing/event/MenuEvent;)V
        11: .line 1088
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -2
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            ifge 3
        end local 2 // int i
        13: .line 1101
            return
        end local 1 // java.lang.Object[] listeners
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Ljavax/swing/JMenu;
            1   14     1  listeners  [Ljava/lang/Object;
            2   13     2          i  I

  void configureAcceleratorFromAction(javax.swing.Action);
    descriptor: (Ljavax/swing/Action;)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.Action a
         0: .line 1105
            return
        end local 1 // javax.swing.Action a
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
            0    1     1     a  Ljavax/swing/Action;
    MethodParameters:
      Name  Flags
      a     

  private javax.swing.event.ChangeListener createMenuChangeListener();
    descriptor: ()Ljavax/swing/event/ChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1126
            new javax.swing.JMenu$MenuChangeListener
            dup
            aload 0 /* this */
            invokespecial javax.swing.JMenu$MenuChangeListener.<init>:(Ljavax/swing/JMenu;)V
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  protected javax.swing.JMenu$WinListener createWinListener(javax.swing.JPopupMenu);
    descriptor: (Ljavax/swing/JPopupMenu;)Ljavax/swing/JMenu$WinListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JPopupMenu p
         0: .line 1139
            new javax.swing.JMenu$WinListener
            dup
            aload 0 /* this */
            aload 1 /* p */
            invokespecial javax.swing.JMenu$WinListener.<init>:(Ljavax/swing/JMenu;Ljavax/swing/JPopupMenu;)V
            areturn
        end local 1 // javax.swing.JPopupMenu p
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;
            0    1     1     p  Ljavax/swing/JPopupMenu;
    MethodParameters:
      Name  Flags
      p     

  public void menuSelectionChanged(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // boolean isIncluded
         0: .line 1187
            aload 0 /* this */
            iload 1 /* isIncluded */
            invokevirtual javax.swing.JMenu.setSelected:(Z)V
         1: .line 1188
            return
        end local 1 // boolean isIncluded
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavax/swing/JMenu;
            0    2     1  isIncluded  Z
    MethodParameters:
            Name  Flags
      isIncluded  

  public javax.swing.MenuElement[] getSubElements();
    descriptor: ()[Ljavax/swing/MenuElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1202
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnonnull 2
         1: .line 1203
            iconst_0
            anewarray javax.swing.MenuElement
            areturn
         2: .line 1205
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray javax.swing.MenuElement
            astore 1 /* result */
        start local 1 // javax.swing.MenuElement[] result
         3: .line 1206
            aload 1 /* result */
            iconst_0
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aastore
         4: .line 1207
            aload 1 /* result */
            areturn
        end local 1 // javax.swing.MenuElement[] result
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/swing/JMenu;
            3    5     1  result  [Ljavax/swing/MenuElement;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)

  public java.awt.Component getComponent();
    descriptor: ()Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1220
            aload 0 /* this */
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public void applyComponentOrientation(java.awt.ComponentOrientation);
    descriptor: (Ljava/awt/ComponentOrientation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.ComponentOrientation o
         0: .line 1237
            aload 0 /* this */
            aload 1 /* o */
            invokespecial javax.swing.JMenuItem.applyComponentOrientation:(Ljava/awt/ComponentOrientation;)V
         1: .line 1239
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 9
         2: .line 1240
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getMenuComponentCount:()I
            istore 2 /* ncomponents */
        start local 2 // int ncomponents
         3: .line 1241
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 1242
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual javax.swing.JMenu.getMenuComponent:(I)Ljava/awt/Component;
            aload 1 /* o */
            invokevirtual java.awt.Component.applyComponentOrientation:(Ljava/awt/ComponentOrientation;)V
         6: .line 1241
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* ncomponents */
            if_icmplt 5
        end local 3 // int i
         8: .line 1244
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* o */
            invokevirtual javax.swing.JPopupMenu.setComponentOrientation:(Ljava/awt/ComponentOrientation;)V
        end local 2 // int ncomponents
         9: .line 1246
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.ComponentOrientation o
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljavax/swing/JMenu;
            0   10     1            o  Ljava/awt/ComponentOrientation;
            3    9     2  ncomponents  I
            4    8     3            i  I
    MethodParameters:
      Name  Flags
      o     

  public void setComponentOrientation(java.awt.ComponentOrientation);
    descriptor: (Ljava/awt/ComponentOrientation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.ComponentOrientation o
         0: .line 1249
            aload 0 /* this */
            aload 1 /* o */
            invokespecial javax.swing.JMenuItem.setComponentOrientation:(Ljava/awt/ComponentOrientation;)V
         1: .line 1250
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            ifnull 3
         2: .line 1251
            aload 0 /* this */
            getfield javax.swing.JMenu.popupMenu:Ljavax/swing/JPopupMenu;
            aload 1 /* o */
            invokevirtual javax.swing.JPopupMenu.setComponentOrientation:(Ljava/awt/ComponentOrientation;)V
         3: .line 1253
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.ComponentOrientation o
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JMenu;
            0    4     1     o  Ljava/awt/ComponentOrientation;
    MethodParameters:
      Name  Flags
      o     

  public void setAccelerator(javax.swing.KeyStroke);
    descriptor: (Ljavax/swing/KeyStroke;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.KeyStroke keyStroke
         0: .line 1265
            new java.lang.Error
            dup
            ldc "setAccelerator() is not defined for JMenu.  Use setMnemonic() instead."
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // javax.swing.KeyStroke keyStroke
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/swing/JMenu;
            0    1     1  keyStroke  Ljavax/swing/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  protected void processKeyEvent(java.awt.event.KeyEvent);
    descriptor: (Ljava/awt/event/KeyEvent;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.awt.event.KeyEvent evt
         0: .line 1274
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 1 /* evt */
            invokevirtual javax.swing.MenuSelectionManager.processKeyEvent:(Ljava/awt/event/KeyEvent;)V
         1: .line 1275
            aload 1 /* evt */
            invokevirtual java.awt.event.KeyEvent.isConsumed:()Z
            ifeq 3
         2: .line 1276
            return
         3: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* evt */
            invokespecial javax.swing.JMenuItem.processKeyEvent:(Ljava/awt/event/KeyEvent;)V
         4: .line 1279
            return
        end local 1 // java.awt.event.KeyEvent evt
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JMenu;
            0    5     1   evt  Ljava/awt/event/KeyEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void doClick(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // int pressTime
         0: .line 1288
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.buildMenuElementArray:(Ljavax/swing/JMenu;)[Ljavax/swing/MenuElement;
            astore 2 /* me */
        start local 2 // javax.swing.MenuElement[] me
         1: .line 1289
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 2 /* me */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
         2: .line 1290
            return
        end local 2 // javax.swing.MenuElement[] me
        end local 1 // int pressTime
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavax/swing/JMenu;
            0    3     1  pressTime  I
            1    3     2         me  [Ljavax/swing/MenuElement;
    MethodParameters:
           Name  Flags
      pressTime  

  private javax.swing.MenuElement[] buildMenuElementArray(javax.swing.JMenu);
    descriptor: (Ljavax/swing/JMenu;)[Ljavax/swing/MenuElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // javax.swing.JMenu leaf
         0: .line 1299
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* elements */
        start local 2 // java.util.Vector elements
         1: .line 1300
            aload 1 /* leaf */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            astore 3 /* current */
        start local 3 // java.awt.Component current
         2: .line 1306
      StackMap locals: java.util.Vector java.awt.Component
      StackMap stack:
            aload 3 /* current */
            instanceof javax.swing.JPopupMenu
            ifeq 7
         3: .line 1307
            aload 3 /* current */
            checkcast javax.swing.JPopupMenu
            astore 4 /* pop */
        start local 4 // javax.swing.JPopupMenu pop
         4: .line 1308
            aload 2 /* elements */
            aload 4 /* pop */
            iconst_0
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
         5: .line 1309
            aload 4 /* pop */
            invokevirtual javax.swing.JPopupMenu.getInvoker:()Ljava/awt/Component;
            astore 3 /* current */
         6: .line 1310
            goto 2
        end local 4 // javax.swing.JPopupMenu pop
      StackMap locals:
      StackMap stack:
         7: aload 3 /* current */
            instanceof javax.swing.JMenu
            ifeq 12
         8: .line 1311
            aload 3 /* current */
            checkcast javax.swing.JMenu
            astore 5 /* menu */
        start local 5 // javax.swing.JMenu menu
         9: .line 1312
            aload 2 /* elements */
            aload 5 /* menu */
            iconst_0
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
        10: .line 1313
            aload 5 /* menu */
            invokevirtual javax.swing.JMenu.getParent:()Ljava/awt/Container;
            astore 3 /* current */
        11: .line 1314
            goto 2
        end local 5 // javax.swing.JMenu menu
      StackMap locals:
      StackMap stack:
        12: aload 3 /* current */
            instanceof javax.swing.JMenuBar
            ifeq 15
        13: .line 1315
            aload 3 /* current */
            checkcast javax.swing.JMenuBar
            astore 6 /* bar */
        start local 6 // javax.swing.JMenuBar bar
        14: .line 1316
            aload 2 /* elements */
            aload 6 /* bar */
            iconst_0
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
        end local 6 // javax.swing.JMenuBar bar
        15: .line 1322
      StackMap locals:
      StackMap stack:
            aload 2 /* elements */
            invokevirtual java.util.Vector.size:()I
            anewarray javax.swing.MenuElement
            astore 7 /* me */
        start local 7 // javax.swing.MenuElement[] me
        16: .line 1323
            aload 2 /* elements */
            aload 7 /* me */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        17: .line 1324
            aload 7 /* me */
            areturn
        end local 7 // javax.swing.MenuElement[] me
        end local 3 // java.awt.Component current
        end local 2 // java.util.Vector elements
        end local 1 // javax.swing.JMenu leaf
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Ljavax/swing/JMenu;
            0   18     1      leaf  Ljavax/swing/JMenu;
            1   18     2  elements  Ljava/util/Vector<Ljavax/swing/MenuElement;>;
            2   18     3   current  Ljava/awt/Component;
            4    7     4       pop  Ljavax/swing/JPopupMenu;
            9   12     5      menu  Ljavax/swing/JMenu;
           14   15     6       bar  Ljavax/swing/JMenuBar;
           16   18     7        me  [Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      leaf  

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.swing.JMenu this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 1334
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 1335
            aload 0 /* this */
            invokevirtual javax.swing.JMenu.getUIClassID:()Ljava/lang/String;
            ldc "MenuUI"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         2: .line 1336
            aload 0 /* this */
            invokestatic javax.swing.JComponent.getWriteObjCounter:(Ljavax/swing/JComponent;)B
            istore 2 /* count */
        start local 2 // byte count
         3: .line 1337
            aload 0 /* this */
            iload 2 /* count */
            iconst_1
            isub
            i2b
            dup
            istore 2 /* count */
            invokestatic javax.swing.JComponent.setWriteObjCounter:(Ljavax/swing/JComponent;B)V
         4: .line 1338
            iload 2 /* count */
            ifne 6
            aload 0 /* this */
            getfield javax.swing.JMenu.ui:Ljavax/swing/plaf/ComponentUI;
            ifnull 6
         5: .line 1339
            aload 0 /* this */
            getfield javax.swing.JMenu.ui:Ljavax/swing/plaf/ComponentUI;
            aload 0 /* this */
            invokevirtual javax.swing.plaf.ComponentUI.installUI:(Ljavax/swing/JComponent;)V
        end local 2 // byte count
         6: .line 1342
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljavax/swing/JMenu;
            0    7     1      s  Ljava/io/ObjectOutputStream;
            3    6     2  count  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  protected java.lang.String paramString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1355
            aload 0 /* this */
            invokespecial javax.swing.JMenuItem.paramString:()Ljava/lang/String;
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JMenu;

  public javax.accessibility.AccessibleContext getAccessibleContext();
    descriptor: ()Ljavax/accessibility/AccessibleContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.JMenu this
         0: .line 1374
            aload 0 /* this */
            getfield javax.swing.JMenu.accessibleContext:Ljavax/accessibility/AccessibleContext;
            ifnonnull 2
         1: .line 1375
            aload 0 /* this */
            new javax.swing.JMenu$AccessibleJMenu
            dup
            aload 0 /* this */
            invokespecial javax.swing.JMenu$AccessibleJMenu.<init>:(Ljavax/swing/JMenu;)V
            putfield javax.swing.JMenu.accessibleContext:Ljavax/accessibility/AccessibleContext;
         2: .line 1377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.JMenu.accessibleContext:Ljavax/accessibility/AccessibleContext;
            areturn
        end local 0 // javax.swing.JMenu this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/JMenu;
    RuntimeVisibleAnnotations: 
      java.beans.BeanProperty(bound = false)
}
SourceFile: "JMenu.java"
NestMembers:
  javax.swing.JMenu$1  javax.swing.JMenu$AccessibleJMenu  javax.swing.JMenu$MenuChangeListener  javax.swing.JMenu$WinListener
InnerClasses:
  javax.swing.JMenu$1
  protected AccessibleJMenu = javax.swing.JMenu$AccessibleJMenu of javax.swing.JMenu
  MenuChangeListener = javax.swing.JMenu$MenuChangeListener of javax.swing.JMenu
  protected WinListener = javax.swing.JMenu$WinListener of javax.swing.JMenu
  public Separator = javax.swing.JPopupMenu$Separator of javax.swing.JPopupMenu
    RuntimeVisibleAnnotations: 
      java.beans.JavaBean(description = "A popup window containing menu items displayed in a menu bar.")
      javax.swing.SwingContainer()