public class javax.swing.MenuSelectionManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.MenuSelectionManager
  super_class: java.lang.Object
{
  private java.util.Vector<javax.swing.MenuElement> selection;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljavax/swing/MenuElement;>;

  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

  private static final java.lang.StringBuilder MENU_SELECTION_MANAGER_KEY;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected transient javax.swing.event.ChangeEvent changeEvent;
    descriptor: Ljavax/swing/event/ChangeEvent;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected javax.swing.event.EventListenerList listenerList;
    descriptor: Ljavax/swing/event/EventListenerList;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 51
            new java.lang.StringBuilder
            dup
            ldc "javax.swing.MenuSelectionManager"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 50
            putstatic javax.swing.MenuSelectionManager.MENU_SELECTION_MANAGER_KEY:Ljava/lang/StringBuilder;
         2: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.MenuSelectionManager this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
         2: .line 83
            aload 0 /* this */
            aconst_null
            putfield javax.swing.MenuSelectionManager.changeEvent:Ljavax/swing/event/ChangeEvent;
         3: .line 84
            aload 0 /* this */
            new javax.swing.event.EventListenerList
            dup
            invokespecial javax.swing.event.EventListenerList.<init>:()V
            putfield javax.swing.MenuSelectionManager.listenerList:Ljavax/swing/event/EventListenerList;
         4: .line 42
            return
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/MenuSelectionManager;

  public static javax.swing.MenuSelectionManager defaultManager();
    descriptor: ()Ljavax/swing/MenuSelectionManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 59
            getstatic javax.swing.MenuSelectionManager.MENU_SELECTION_MANAGER_KEY:Ljava/lang/StringBuilder;
            dup
            astore 0
            monitorenter
         1: .line 60
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 1 /* context */
        start local 1 // sun.awt.AppContext context
         2: .line 61
            aload 1 /* context */
         3: .line 62
            getstatic javax.swing.MenuSelectionManager.MENU_SELECTION_MANAGER_KEY:Ljava/lang/StringBuilder;
         4: .line 61
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.MenuSelectionManager
            astore 2 /* msm */
        start local 2 // javax.swing.MenuSelectionManager msm
         5: .line 63
            aload 2 /* msm */
            ifnonnull 11
         6: .line 64
            new javax.swing.MenuSelectionManager
            dup
            invokespecial javax.swing.MenuSelectionManager.<init>:()V
            astore 2 /* msm */
         7: .line 65
            aload 1 /* context */
            getstatic javax.swing.MenuSelectionManager.MENU_SELECTION_MANAGER_KEY:Ljava/lang/StringBuilder;
            aload 2 /* msm */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 68
            aload 1 /* context */
            getstatic sun.swing.SwingUtilities2.MENU_SELECTION_MANAGER_LISTENER_KEY:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* o */
        start local 3 // java.lang.Object o
         9: .line 69
            aload 3 /* o */
            ifnull 11
            aload 3 /* o */
            instanceof javax.swing.event.ChangeListener
            ifeq 11
        10: .line 70
            aload 2 /* msm */
            aload 3 /* o */
            checkcast javax.swing.event.ChangeListener
            invokevirtual javax.swing.MenuSelectionManager.addChangeListener:(Ljavax/swing/event/ChangeListener;)V
        end local 3 // java.lang.Object o
        11: .line 74
      StackMap locals: java.lang.StringBuilder sun.awt.AppContext javax.swing.MenuSelectionManager
      StackMap stack:
            aload 2 /* msm */
            aload 0
            monitorexit
        12: areturn
        end local 2 // javax.swing.MenuSelectionManager msm
        end local 1 // sun.awt.AppContext context
        13: .line 59
      StackMap locals: java.lang.StringBuilder
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
        14: athrow
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2   13     1  context  Lsun/awt/AppContext;
            5   13     2      msm  Ljavax/swing/MenuSelectionManager;
            9   11     3        o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any

  public void setSelectedPath(javax.swing.MenuElement[]);
    descriptor: ([Ljavax/swing/MenuElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // javax.swing.MenuElement[] path
         0: .line 99
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 4 /* currentSelectionCount */
        start local 4 // int currentSelectionCount
         1: .line 100
            iconst_0
            istore 5 /* firstDifference */
        start local 5 // int firstDifference
         2: .line 102
            aload 1 /* path */
            ifnonnull 4
         3: .line 103
            iconst_0
            anewarray javax.swing.MenuElement
            astore 1 /* path */
         4: .line 111
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[] top top int int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: aload 1 /* path */
            arraylength
            istore 3 /* c */
        start local 3 // int c
         6: goto 10
         7: .line 112
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[] int int int int
      StackMap stack:
            iload 2 /* i */
            iload 4 /* currentSelectionCount */
            if_icmpge 11
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            aload 1 /* path */
            iload 2 /* i */
            aaload
            if_acmpne 11
         8: .line 113
            iinc 5 /* firstDifference */ 1
         9: .line 111
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            iload 3 /* c */
            if_icmplt 7
        11: .line 118
      StackMap locals:
      StackMap stack:
            iload 4 /* currentSelectionCount */
            iconst_1
            isub
            istore 2 /* i */
            goto 16
        12: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            astore 6 /* me */
        start local 6 // javax.swing.MenuElement me
        13: .line 120
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.removeElementAt:(I)V
        14: .line 121
            aload 6 /* me */
            iconst_0
            invokeinterface javax.swing.MenuElement.menuSelectionChanged:(Z)V
        end local 6 // javax.swing.MenuElement me
        15: .line 118
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            iload 5 /* firstDifference */
            if_icmpge 12
        17: .line 124
            iload 5 /* firstDifference */
            istore 2 /* i */
            aload 1 /* path */
            arraylength
            istore 3 /* c */
            goto 22
        18: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            iload 2 /* i */
            aaload
            ifnull 21
        19: .line 126
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            aload 1 /* path */
            iload 2 /* i */
            aaload
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        20: .line 127
            aload 1 /* path */
            iload 2 /* i */
            aaload
            iconst_1
            invokeinterface javax.swing.MenuElement.menuSelectionChanged:(Z)V
        21: .line 124
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 2 /* i */
            iload 3 /* c */
            if_icmplt 18
        23: .line 131
            aload 0 /* this */
            invokevirtual javax.swing.MenuSelectionManager.fireStateChanged:()V
        24: .line 132
            return
        end local 5 // int firstDifference
        end local 4 // int currentSelectionCount
        end local 3 // int c
        end local 2 // int i
        end local 1 // javax.swing.MenuElement[] path
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   25     0                   this  Ljavax/swing/MenuSelectionManager;
            0   25     1                   path  [Ljavax/swing/MenuElement;
            5   25     2                      i  I
            6   25     3                      c  I
            1   25     4  currentSelectionCount  I
            2   25     5        firstDifference  I
           13   15     6                     me  Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      path  

  public javax.swing.MenuElement[] getSelectedPath();
    descriptor: ()[Ljavax/swing/MenuElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // javax.swing.MenuSelectionManager this
         0: .line 140
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            anewarray javax.swing.MenuElement
            astore 1 /* res */
        start local 1 // javax.swing.MenuElement[] res
         1: .line 142
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 3 /* c */
        start local 3 // int c
         3: goto 6
         4: .line 143
      StackMap locals: javax.swing.MenuElement[] int int
      StackMap stack:
            aload 1 /* res */
            iload 2 /* i */
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            aastore
         5: .line 142
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 3 /* c */
            if_icmplt 4
         7: .line 144
            aload 1 /* res */
            areturn
        end local 3 // int c
        end local 2 // int i
        end local 1 // javax.swing.MenuElement[] res
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/swing/MenuSelectionManager;
            1    8     1   res  [Ljavax/swing/MenuElement;
            2    8     2     i  I
            3    8     3     c  I

  public void clearSelectedPath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.MenuSelectionManager this
         0: .line 152
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ifle 2
         1: .line 153
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
         2: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/MenuSelectionManager;

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

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

  public javax.swing.event.ChangeListener[] getChangeListeners();
    descriptor: ()[Ljavax/swing/event/ChangeListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.MenuSelectionManager this
         0: .line 184
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.listenerList:Ljavax/swing/event/EventListenerList;
            ldc Ljavax/swing/event/ChangeListener;
            invokevirtual javax.swing.event.EventListenerList.getListeners:(Ljava/lang/Class;)[Ljava/util/EventListener;
            checkcast javax.swing.event.ChangeListener[]
            areturn
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/MenuSelectionManager;

  protected void fireStateChanged();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // javax.swing.MenuSelectionManager this
         0: .line 196
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.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 199
            aload 1 /* listeners */
            arraylength
            iconst_2
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 200
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            aaload
            ldc Ljavax/swing/event/ChangeListener;
            if_acmpne 7
         4: .line 202
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.changeEvent:Ljavax/swing/event/ChangeEvent;
            ifnonnull 6
         5: .line 203
            aload 0 /* this */
            new javax.swing.event.ChangeEvent
            dup
            aload 0 /* this */
            invokespecial javax.swing.event.ChangeEvent.<init>:(Ljava/lang/Object;)V
            putfield javax.swing.MenuSelectionManager.changeEvent:Ljavax/swing/event/ChangeEvent;
         6: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* listeners */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast javax.swing.event.ChangeListener
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.changeEvent:Ljavax/swing/event/ChangeEvent;
            invokeinterface javax.swing.event.ChangeListener.stateChanged:(Ljavax/swing/event/ChangeEvent;)V
         7: .line 199
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -2
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            ifge 3
        end local 2 // int i
         9: .line 207
            return
        end local 1 // java.lang.Object[] listeners
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljavax/swing/MenuSelectionManager;
            1   10     1  listeners  [Ljava/lang/Object;
            2    9     2          i  I

  public void processMouseEvent(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=27, args_size=2
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // java.awt.event.MouseEvent event
         0: .line 227
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getPoint:()Ljava/awt/Point;
            astore 4 /* p */
        start local 4 // java.awt.Point p
         1: .line 229
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getComponent:()Ljava/awt/Component;
            astore 17 /* source */
        start local 17 // java.awt.Component source
         2: .line 231
            aload 17 /* source */
            ifnull 4
            aload 17 /* source */
            invokevirtual java.awt.Component.isShowing:()Z
            ifne 4
         3: .line 234
            return
         4: .line 237
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent top top java.awt.Point top top top top top top top top top top top top java.awt.Component
      StackMap stack:
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            istore 18 /* type */
        start local 18 // int type
         5: .line 238
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            istore 19 /* modifiers */
        start local 19 // int modifiers
         6: .line 240
            iload 18 /* type */
            sipush 504
            if_icmpeq 8
         7: .line 241
            iload 18 /* type */
            sipush 505
            if_icmpne 10
         8: .line 242
      StackMap locals: int int
      StackMap stack:
            iload 19 /* modifiers */
            bipush 28
            iand
            ifeq 10
         9: .line 244
            return
        10: .line 247
      StackMap locals:
      StackMap stack:
            aload 17 /* source */
            ifnull 12
        11: .line 248
            aload 4 /* p */
            aload 17 /* source */
            invokestatic javax.swing.SwingUtilities.convertPointToScreen:(Ljava/awt/Point;Ljava/awt/Component;)V
        12: .line 251
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            getfield java.awt.Point.x:I
            istore 2 /* screenX */
        start local 2 // int screenX
        13: .line 252
            aload 4 /* p */
            getfield java.awt.Point.y:I
            istore 3 /* screenY */
        start local 3 // int screenY
        14: .line 254
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
            checkcast java.util.Vector
            astore 15 /* tmp */
        start local 15 // java.util.Vector tmp
        15: .line 255
            aload 15 /* tmp */
            invokevirtual java.util.Vector.size:()I
            istore 16 /* selectionSize */
        start local 16 // int selectionSize
        16: .line 256
            iconst_0
            istore 20 /* success */
        start local 20 // boolean success
        17: .line 257
            iload 16 /* selectionSize */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
        18: goto 105
        19: .line 258
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int top top top top top top top top top java.util.Vector int java.awt.Component int int int
      StackMap stack:
            aload 15 /* tmp */
            iload 5 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            astore 12 /* menuElement */
        start local 12 // javax.swing.MenuElement menuElement
        20: .line 259
            aload 12 /* menuElement */
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            astore 13 /* subElements */
        start local 13 // javax.swing.MenuElement[] subElements
        21: .line 261
            aconst_null
            astore 14 /* path */
        start local 14 // javax.swing.MenuElement[] path
        22: .line 262
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        23: aload 13 /* subElements */
            arraylength
            istore 7 /* d */
        start local 7 // int d
        24: goto 103
        25: .line 263
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int int int top top top top javax.swing.MenuElement javax.swing.MenuElement[] javax.swing.MenuElement[] java.util.Vector int java.awt.Component int int int
      StackMap stack:
            aload 13 /* subElements */
            iload 6 /* j */
            aaload
            ifnonnull 27
        26: .line 264
            goto 102
        27: .line 265
      StackMap locals:
      StackMap stack:
            aload 13 /* subElements */
            iload 6 /* j */
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            astore 8 /* mc */
        start local 8 // java.awt.Component mc
        28: .line 266
            aload 8 /* mc */
            invokevirtual java.awt.Component.isShowing:()Z
            ifne 30
        29: .line 267
            goto 102
        30: .line 268
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int int int java.awt.Component top top top javax.swing.MenuElement javax.swing.MenuElement[] javax.swing.MenuElement[] java.util.Vector int java.awt.Component int int int
      StackMap stack:
            aload 8 /* mc */
            instanceof javax.swing.JComponent
            ifeq 34
        31: .line 269
            aload 8 /* mc */
            invokevirtual java.awt.Component.getWidth:()I
            istore 10 /* cWidth */
        start local 10 // int cWidth
        32: .line 270
            aload 8 /* mc */
            invokevirtual java.awt.Component.getHeight:()I
            istore 11 /* cHeight */
        start local 11 // int cHeight
        33: .line 271
            goto 37
        end local 11 // int cHeight
        end local 10 // int cWidth
        34: .line 272
      StackMap locals:
      StackMap stack:
            aload 8 /* mc */
            invokevirtual java.awt.Component.getBounds:()Ljava/awt/Rectangle;
            astore 9 /* r2 */
        start local 9 // java.awt.Rectangle r2
        35: .line 273
            aload 9 /* r2 */
            getfield java.awt.Rectangle.width:I
            istore 10 /* cWidth */
        start local 10 // int cWidth
        36: .line 274
            aload 9 /* r2 */
            getfield java.awt.Rectangle.height:I
            istore 11 /* cHeight */
        end local 9 // java.awt.Rectangle r2
        start local 11 // int cHeight
        37: .line 276
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int int int java.awt.Component top int int javax.swing.MenuElement javax.swing.MenuElement[] javax.swing.MenuElement[] java.util.Vector int java.awt.Component int int int
      StackMap stack:
            aload 4 /* p */
            iload 2 /* screenX */
            putfield java.awt.Point.x:I
        38: .line 277
            aload 4 /* p */
            iload 3 /* screenY */
            putfield java.awt.Point.y:I
        39: .line 278
            aload 4 /* p */
            aload 8 /* mc */
            invokestatic javax.swing.SwingUtilities.convertPointFromScreen:(Ljava/awt/Point;Ljava/awt/Component;)V
        40: .line 284
            aload 4 /* p */
            getfield java.awt.Point.x:I
            iflt 102
            aload 4 /* p */
            getfield java.awt.Point.x:I
            iload 10 /* cWidth */
            if_icmpge 102
            aload 4 /* p */
            getfield java.awt.Point.y:I
            iflt 102
            aload 4 /* p */
            getfield java.awt.Point.y:I
            iload 11 /* cHeight */
            if_icmpge 102
        41: .line 286
            aload 14 /* path */
            ifnonnull 48
        42: .line 287
            iload 5 /* i */
            iconst_2
            iadd
            anewarray javax.swing.MenuElement
            astore 14 /* path */
        43: .line 288
            iconst_0
            istore 21 /* k */
        start local 21 // int k
        44: goto 47
        45: .line 289
      StackMap locals: int
      StackMap stack:
            aload 14 /* path */
            iload 21 /* k */
            aload 15 /* tmp */
            iload 21 /* k */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            aastore
        46: .line 288
            iinc 21 /* k */ 1
      StackMap locals:
      StackMap stack:
        47: iload 21 /* k */
            iload 5 /* i */
            if_icmple 45
        end local 21 // int k
        48: .line 291
      StackMap locals:
      StackMap stack:
            aload 14 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            aload 13 /* subElements */
            iload 6 /* j */
            aaload
            aastore
        49: .line 292
            aload 0 /* this */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 22 /* currentSelection */
        start local 22 // javax.swing.MenuElement[] currentSelection
        50: .line 295
            aload 22 /* currentSelection */
            aload 22 /* currentSelection */
            arraylength
            iconst_1
            isub
            aaload
        51: .line 296
            aload 14 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            aaload
        52: .line 295
            if_acmpeq 87
        53: .line 297
            aload 22 /* currentSelection */
            arraylength
            iconst_2
            if_icmplt 57
        54: .line 298
            aload 22 /* currentSelection */
            aload 22 /* currentSelection */
            arraylength
            iconst_2
            isub
            aaload
        55: .line 299
            aload 14 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            aaload
        56: .line 298
            if_acmpeq 87
        57: .line 300
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int int int java.awt.Component top int int javax.swing.MenuElement javax.swing.MenuElement[] javax.swing.MenuElement[] java.util.Vector int java.awt.Component int int int top javax.swing.MenuElement[]
      StackMap stack:
            aload 22 /* currentSelection */
            aload 22 /* currentSelection */
            arraylength
            iconst_1
            isub
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            astore 23 /* oldMC */
        start local 23 // java.awt.Component oldMC
        58: .line 302
            new java.awt.event.MouseEvent
            dup
            aload 23 /* oldMC */
            sipush 505
        59: .line 303
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
        60: .line 304
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            aload 4 /* p */
            getfield java.awt.Point.x:I
            aload 4 /* p */
            getfield java.awt.Point.y:I
        61: .line 305
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
        62: .line 306
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
        63: .line 307
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
        64: .line 308
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        65: .line 309
            iconst_0
        66: .line 302
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            astore 24 /* exitEvent */
        start local 24 // java.awt.event.MouseEvent exitEvent
        67: .line 310
            invokestatic sun.awt.AWTAccessor.getMouseEventAccessor:()Lsun/awt/AWTAccessor$MouseEventAccessor;
            astore 25 /* meAccessor */
        start local 25 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        68: .line 311
            aload 25 /* meAccessor */
            aload 24 /* exitEvent */
        69: .line 312
            aload 25 /* meAccessor */
            aload 1 /* event */
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.isCausedByTouchEvent:(Ljava/awt/event/MouseEvent;)Z
        70: .line 311
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.setCausedByTouchEvent:(Ljava/awt/event/MouseEvent;Z)V
        71: .line 313
            aload 22 /* currentSelection */
            aload 22 /* currentSelection */
            arraylength
            iconst_1
            isub
            aaload
        72: .line 314
            aload 24 /* exitEvent */
            aload 14 /* path */
            aload 0 /* this */
            invokeinterface javax.swing.MenuElement.processMouseEvent:(Ljava/awt/event/MouseEvent;[Ljavax/swing/MenuElement;Ljavax/swing/MenuSelectionManager;)V
        73: .line 316
            new java.awt.event.MouseEvent
            dup
            aload 8 /* mc */
        74: .line 317
            sipush 504
        75: .line 318
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
        76: .line 319
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            aload 4 /* p */
            getfield java.awt.Point.x:I
            aload 4 /* p */
            getfield java.awt.Point.y:I
        77: .line 320
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
        78: .line 321
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
        79: .line 322
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
        80: .line 323
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        81: .line 324
            iconst_0
        82: .line 316
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            astore 26 /* enterEvent */
        start local 26 // java.awt.event.MouseEvent enterEvent
        83: .line 325
            aload 25 /* meAccessor */
            aload 26 /* enterEvent */
        84: .line 326
            aload 25 /* meAccessor */
            aload 1 /* event */
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.isCausedByTouchEvent:(Ljava/awt/event/MouseEvent;)Z
        85: .line 325
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.setCausedByTouchEvent:(Ljava/awt/event/MouseEvent;Z)V
        86: .line 327
            aload 13 /* subElements */
            iload 6 /* j */
            aaload
            aload 26 /* enterEvent */
            aload 14 /* path */
            aload 0 /* this */
            invokeinterface javax.swing.MenuElement.processMouseEvent:(Ljava/awt/event/MouseEvent;[Ljavax/swing/MenuElement;Ljavax/swing/MenuSelectionManager;)V
        end local 26 // java.awt.event.MouseEvent enterEvent
        end local 25 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        end local 24 // java.awt.event.MouseEvent exitEvent
        end local 23 // java.awt.Component oldMC
        87: .line 329
      StackMap locals:
      StackMap stack:
            new java.awt.event.MouseEvent
            dup
            aload 8 /* mc */
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
        88: .line 330
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getModifiers:()I
            aload 4 /* p */
            getfield java.awt.Point.x:I
            aload 4 /* p */
            getfield java.awt.Point.y:I
        89: .line 331
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getXOnScreen:()I
        90: .line 332
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getYOnScreen:()I
        91: .line 333
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.getClickCount:()I
        92: .line 334
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.isPopupTrigger:()Z
        93: .line 335
            iconst_0
        94: .line 329
            invokespecial java.awt.event.MouseEvent.<init>:(Ljava/awt/Component;IJIIIIIIZI)V
            astore 23 /* mouseEvent */
        start local 23 // java.awt.event.MouseEvent mouseEvent
        95: .line 336
            invokestatic sun.awt.AWTAccessor.getMouseEventAccessor:()Lsun/awt/AWTAccessor$MouseEventAccessor;
            astore 24 /* meAccessor */
        start local 24 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        96: .line 337
            aload 24 /* meAccessor */
            aload 23 /* mouseEvent */
        97: .line 338
            aload 24 /* meAccessor */
            aload 1 /* event */
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.isCausedByTouchEvent:(Ljava/awt/event/MouseEvent;)Z
        98: .line 337
            invokeinterface sun.awt.AWTAccessor$MouseEventAccessor.setCausedByTouchEvent:(Ljava/awt/event/MouseEvent;Z)V
        99: .line 339
            aload 13 /* subElements */
            iload 6 /* j */
            aaload
            aload 23 /* mouseEvent */
            aload 14 /* path */
            aload 0 /* this */
            invokeinterface javax.swing.MenuElement.processMouseEvent:(Ljava/awt/event/MouseEvent;[Ljavax/swing/MenuElement;Ljavax/swing/MenuSelectionManager;)V
       100: .line 340
            iconst_1
            istore 20 /* success */
       101: .line 341
            aload 1 /* event */
            invokevirtual java.awt.event.MouseEvent.consume:()V
        end local 24 // sun.awt.AWTAccessor$MouseEventAccessor meAccessor
        end local 23 // java.awt.event.MouseEvent mouseEvent
        end local 22 // javax.swing.MenuElement[] currentSelection
        end local 11 // int cHeight
        end local 10 // int cWidth
        end local 8 // java.awt.Component mc
       102: .line 262
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int int int top top top top javax.swing.MenuElement javax.swing.MenuElement[] javax.swing.MenuElement[] java.util.Vector int java.awt.Component int int int
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
       103: iload 6 /* j */
            iload 7 /* d */
            if_icmpge 104
            iload 20 /* success */
            ifeq 25
       104: .line 257
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
        end local 14 // javax.swing.MenuElement[] path
        end local 13 // javax.swing.MenuElement[] subElements
        end local 12 // javax.swing.MenuElement menuElement
        end local 7 // int d
        end local 6 // int j
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.MouseEvent int int java.awt.Point int top top top top top top top top top java.util.Vector int java.awt.Component int int int
      StackMap stack:
       105: iload 5 /* i */
            iflt 106
            iload 20 /* success */
            ifeq 19
       106: .line 345
      StackMap locals:
      StackMap stack:
            return
        end local 20 // boolean success
        end local 19 // int modifiers
        end local 18 // int type
        end local 17 // java.awt.Component source
        end local 16 // int selectionSize
        end local 15 // java.util.Vector tmp
        end local 5 // int i
        end local 4 // java.awt.Point p
        end local 3 // int screenY
        end local 2 // int screenX
        end local 1 // java.awt.event.MouseEvent event
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  107     0              this  Ljavax/swing/MenuSelectionManager;
            0  107     1             event  Ljava/awt/event/MouseEvent;
           13  107     2           screenX  I
           14  107     3           screenY  I
            1  107     4                 p  Ljava/awt/Point;
           18  107     5                 i  I
           23  105     6                 j  I
           24  105     7                 d  I
           28  102     8                mc  Ljava/awt/Component;
           35   37     9                r2  Ljava/awt/Rectangle;
           32   34    10            cWidth  I
           36  102    10            cWidth  I
           33   34    11           cHeight  I
           37  102    11           cHeight  I
           20  105    12       menuElement  Ljavax/swing/MenuElement;
           21  105    13       subElements  [Ljavax/swing/MenuElement;
           22  105    14              path  [Ljavax/swing/MenuElement;
           15  107    15               tmp  Ljava/util/Vector<Ljavax/swing/MenuElement;>;
           16  107    16     selectionSize  I
            2  107    17            source  Ljava/awt/Component;
            5  107    18              type  I
            6  107    19         modifiers  I
           17  107    20           success  Z
           44   48    21                 k  I
           50  102    22  currentSelection  [Ljavax/swing/MenuElement;
           58   87    23             oldMC  Ljava/awt/Component;
           67   87    24         exitEvent  Ljava/awt/event/MouseEvent;
           68   87    25        meAccessor  Lsun/awt/AWTAccessor$MouseEventAccessor;
           83   87    26        enterEvent  Ljava/awt/event/MouseEvent;
           95  102    23        mouseEvent  Ljava/awt/event/MouseEvent;
           96  102    24        meAccessor  Lsun/awt/AWTAccessor$MouseEventAccessor;
    MethodParameters:
       Name  Flags
      event  

  private void printMenuElementArray(javax.swing.MenuElement[]);
    descriptor: ([Ljavax/swing/MenuElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // javax.swing.MenuElement[] path
         0: .line 348
            aload 0 /* this */
            aload 1 /* path */
            iconst_0
            invokevirtual javax.swing.MenuSelectionManager.printMenuElementArray:([Ljavax/swing/MenuElement;Z)V
         1: .line 349
            return
        end local 1 // javax.swing.MenuElement[] path
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/MenuSelectionManager;
            0    2     1  path  [Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      path  

  private void printMenuElementArray(javax.swing.MenuElement[], boolean);
    descriptor: ([Ljavax/swing/MenuElement;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // javax.swing.MenuElement[] path
        start local 2 // boolean dumpStack
         0: .line 352
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Path is("
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 354
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 1 /* path */
            arraylength
            istore 4 /* j */
        start local 4 // int j
         3: goto 24
         4: .line 355
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* k */
        start local 5 // int k
         5: goto 8
         6: .line 356
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 355
            iinc 5 /* k */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* k */
            iload 3 /* i */
            if_icmple 6
        end local 5 // int k
         9: .line 357
            aload 1 /* path */
            iload 3 /* i */
            aaload
            astore 5 /* me */
        start local 5 // javax.swing.MenuElement me
        10: .line 358
            aload 5 /* me */
            instanceof javax.swing.JMenuItem
            ifeq 13
        11: .line 359
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 5 /* me */
            checkcast javax.swing.JMenuItem
            invokevirtual javax.swing.JMenuItem.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 ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 360
            goto 23
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[] int int int javax.swing.MenuElement
      StackMap stack:
        13: aload 5 /* me */
            instanceof javax.swing.JMenuBar
            ifeq 16
        14: .line 361
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JMenuBar, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 362
            goto 23
      StackMap locals:
      StackMap stack:
        16: aload 5 /* me */
            instanceof javax.swing.JPopupMenu
            ifeq 19
        17: .line 363
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JPopupMenu, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 364
            goto 23
      StackMap locals:
      StackMap stack:
        19: aload 5 /* me */
            ifnonnull 22
        20: .line 365
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "NULL , "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 366
            goto 23
        22: .line 367
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* me */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // javax.swing.MenuElement me
        23: .line 354
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            iload 4 /* j */
            if_icmplt 4
        25: .line 370
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 372
            iload 2 /* dumpStack */
            ifeq 28
        27: .line 373
            invokestatic java.lang.Thread.dumpStack:()V
        28: .line 374
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int j
        end local 3 // int i
        end local 2 // boolean dumpStack
        end local 1 // javax.swing.MenuElement[] path
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Ljavax/swing/MenuSelectionManager;
            0   29     1       path  [Ljavax/swing/MenuElement;
            0   29     2  dumpStack  Z
            2   29     3          i  I
            3   29     4          j  I
            5    9     5          k  I
           10   23     5         me  Ljavax/swing/MenuElement;
    MethodParameters:
           Name  Flags
      path       
      dumpStack  

  public java.awt.Component componentForPoint(java.awt.Component, java.awt.Point);
    descriptor: (Ljava/awt/Component;Ljava/awt/Point;)Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=17, args_size=3
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // java.awt.Component source
        start local 2 // java.awt.Point sourcePoint
         0: .line 390
            aload 2 /* sourcePoint */
            astore 5 /* p */
        start local 5 // java.awt.Point p
         1: .line 400
            aload 5 /* p */
            aload 1 /* source */
            invokestatic javax.swing.SwingUtilities.convertPointToScreen:(Ljava/awt/Point;Ljava/awt/Component;)V
         2: .line 402
            aload 5 /* p */
            getfield java.awt.Point.x:I
            istore 3 /* screenX */
        start local 3 // int screenX
         3: .line 403
            aload 5 /* p */
            getfield java.awt.Point.y:I
            istore 4 /* screenY */
        start local 4 // int screenY
         4: .line 405
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
            checkcast java.util.Vector
            astore 15 /* tmp */
        start local 15 // java.util.Vector tmp
         5: .line 406
            aload 15 /* tmp */
            invokevirtual java.util.Vector.size:()I
            istore 16 /* selectionSize */
        start local 16 // int selectionSize
         6: .line 407
            iload 16 /* selectionSize */
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         7: goto 33
         8: .line 408
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int top top top top top top top top java.util.Vector int
      StackMap stack:
            aload 15 /* tmp */
            iload 6 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            astore 13 /* menuElement */
        start local 13 // javax.swing.MenuElement menuElement
         9: .line 409
            aload 13 /* menuElement */
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            astore 14 /* subElements */
        start local 14 // javax.swing.MenuElement[] subElements
        10: .line 411
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        11: aload 14 /* subElements */
            arraylength
            istore 8 /* d */
        start local 8 // int d
        12: goto 31
        13: .line 412
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int int int top top top top javax.swing.MenuElement javax.swing.MenuElement[] java.util.Vector int
      StackMap stack:
            aload 14 /* subElements */
            iload 7 /* j */
            aaload
            ifnonnull 15
        14: .line 413
            goto 30
        15: .line 414
      StackMap locals:
      StackMap stack:
            aload 14 /* subElements */
            iload 7 /* j */
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            astore 9 /* mc */
        start local 9 // java.awt.Component mc
        16: .line 415
            aload 9 /* mc */
            invokevirtual java.awt.Component.isShowing:()Z
            ifne 18
        17: .line 416
            goto 30
        18: .line 417
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int int int java.awt.Component top top top javax.swing.MenuElement javax.swing.MenuElement[] java.util.Vector int
      StackMap stack:
            aload 9 /* mc */
            instanceof javax.swing.JComponent
            ifeq 22
        19: .line 418
            aload 9 /* mc */
            invokevirtual java.awt.Component.getWidth:()I
            istore 11 /* cWidth */
        start local 11 // int cWidth
        20: .line 419
            aload 9 /* mc */
            invokevirtual java.awt.Component.getHeight:()I
            istore 12 /* cHeight */
        start local 12 // int cHeight
        21: .line 420
            goto 25
        end local 12 // int cHeight
        end local 11 // int cWidth
        22: .line 421
      StackMap locals:
      StackMap stack:
            aload 9 /* mc */
            invokevirtual java.awt.Component.getBounds:()Ljava/awt/Rectangle;
            astore 10 /* r2 */
        start local 10 // java.awt.Rectangle r2
        23: .line 422
            aload 10 /* r2 */
            getfield java.awt.Rectangle.width:I
            istore 11 /* cWidth */
        start local 11 // int cWidth
        24: .line 423
            aload 10 /* r2 */
            getfield java.awt.Rectangle.height:I
            istore 12 /* cHeight */
        end local 10 // java.awt.Rectangle r2
        start local 12 // int cHeight
        25: .line 425
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int int int java.awt.Component top int int javax.swing.MenuElement javax.swing.MenuElement[] java.util.Vector int
      StackMap stack:
            aload 5 /* p */
            iload 3 /* screenX */
            putfield java.awt.Point.x:I
        26: .line 426
            aload 5 /* p */
            iload 4 /* screenY */
            putfield java.awt.Point.y:I
        27: .line 427
            aload 5 /* p */
            aload 9 /* mc */
            invokestatic javax.swing.SwingUtilities.convertPointFromScreen:(Ljava/awt/Point;Ljava/awt/Component;)V
        28: .line 432
            aload 5 /* p */
            getfield java.awt.Point.x:I
            iflt 30
            aload 5 /* p */
            getfield java.awt.Point.x:I
            iload 11 /* cWidth */
            if_icmpge 30
            aload 5 /* p */
            getfield java.awt.Point.y:I
            iflt 30
            aload 5 /* p */
            getfield java.awt.Point.y:I
            iload 12 /* cHeight */
            if_icmpge 30
        29: .line 433
            aload 9 /* mc */
            areturn
        end local 12 // int cHeight
        end local 11 // int cWidth
        end local 9 // java.awt.Component mc
        30: .line 411
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int int int top top top top javax.swing.MenuElement javax.swing.MenuElement[] java.util.Vector int
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        31: iload 7 /* j */
            iload 8 /* d */
            if_icmplt 13
        32: .line 407
            iinc 6 /* i */ -1
        end local 14 // javax.swing.MenuElement[] subElements
        end local 13 // javax.swing.MenuElement menuElement
        end local 8 // int d
        end local 7 // int j
      StackMap locals: javax.swing.MenuSelectionManager java.awt.Component java.awt.Point int int java.awt.Point int top top top top top top top top java.util.Vector int
      StackMap stack:
        33: iload 6 /* i */
            ifge 8
        34: .line 437
            aconst_null
            areturn
        end local 16 // int selectionSize
        end local 15 // java.util.Vector tmp
        end local 6 // int i
        end local 5 // java.awt.Point p
        end local 4 // int screenY
        end local 3 // int screenX
        end local 2 // java.awt.Point sourcePoint
        end local 1 // java.awt.Component source
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Ljavax/swing/MenuSelectionManager;
            0   35     1         source  Ljava/awt/Component;
            0   35     2    sourcePoint  Ljava/awt/Point;
            3   35     3        screenX  I
            4   35     4        screenY  I
            1   35     5              p  Ljava/awt/Point;
            7   35     6              i  I
           11   33     7              j  I
           12   33     8              d  I
           16   30     9             mc  Ljava/awt/Component;
           23   25    10             r2  Ljava/awt/Rectangle;
           20   22    11         cWidth  I
           24   30    11         cWidth  I
           21   22    12        cHeight  I
           25   30    12        cHeight  I
            9   33    13    menuElement  Ljavax/swing/MenuElement;
           10   33    14    subElements  [Ljavax/swing/MenuElement;
            5   35    15            tmp  Ljava/util/Vector<Ljavax/swing/MenuElement;>;
            6   35    16  selectionSize  I
    MethodParameters:
             Name  Flags
      source       
      sourcePoint  

  public void processKeyEvent(java.awt.event.KeyEvent);
    descriptor: (Ljava/awt/event/KeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // java.awt.event.KeyEvent e
         0: .line 447
            iconst_0
            anewarray javax.swing.MenuElement
            astore 2 /* sel2 */
        start local 2 // javax.swing.MenuElement[] sel2
         1: .line 448
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            aload 2 /* sel2 */
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.swing.MenuElement[]
            astore 2 /* sel2 */
         2: .line 449
            aload 2 /* sel2 */
            arraylength
            istore 3 /* selSize */
        start local 3 // int selSize
         3: .line 452
            iload 3 /* selSize */
            iconst_1
            if_icmpge 5
         4: .line 453
            return
         5: .line 456
      StackMap locals: javax.swing.MenuElement[] int
      StackMap stack:
            iload 3 /* selSize */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 25
         7: .line 457
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.KeyEvent javax.swing.MenuElement[] int top int
      StackMap stack:
            aload 2 /* sel2 */
            iload 5 /* i */
            aaload
            astore 6 /* elem */
        start local 6 // javax.swing.MenuElement elem
         8: .line 458
            aload 6 /* elem */
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            astore 7 /* subs */
        start local 7 // javax.swing.MenuElement[] subs
         9: .line 459
            aconst_null
            astore 4 /* path */
        start local 4 // javax.swing.MenuElement[] path
        10: .line 461
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        11: goto 23
        12: .line 462
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.KeyEvent javax.swing.MenuElement[] int javax.swing.MenuElement[] int javax.swing.MenuElement javax.swing.MenuElement[] int
      StackMap stack:
            aload 7 /* subs */
            iload 8 /* j */
            aaload
            ifnull 22
            aload 7 /* subs */
            iload 8 /* j */
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            invokevirtual java.awt.Component.isShowing:()Z
            ifeq 22
        13: .line 463
            aload 7 /* subs */
            iload 8 /* j */
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            invokevirtual java.awt.Component.isEnabled:()Z
            ifne 15
        14: .line 464
            goto 22
        15: .line 467
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            ifnonnull 18
        16: .line 468
            iload 5 /* i */
            iconst_2
            iadd
            anewarray javax.swing.MenuElement
            astore 4 /* path */
        17: .line 469
            aload 2 /* sel2 */
            iconst_0
            aload 4 /* path */
            iconst_0
            iload 5 /* i */
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 471
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            aload 7 /* subs */
            iload 8 /* j */
            aaload
            aastore
        19: .line 472
            aload 7 /* subs */
            iload 8 /* j */
            aaload
            aload 1 /* e */
            aload 4 /* path */
            aload 0 /* this */
            invokeinterface javax.swing.MenuElement.processKeyEvent:(Ljava/awt/event/KeyEvent;[Ljavax/swing/MenuElement;Ljavax/swing/MenuSelectionManager;)V
        20: .line 473
            aload 1 /* e */
            invokevirtual java.awt.event.KeyEvent.isConsumed:()Z
            ifeq 22
        21: .line 474
            return
        22: .line 461
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* j */
            aload 7 /* subs */
            arraylength
            if_icmplt 12
        end local 8 // int j
        end local 7 // javax.swing.MenuElement[] subs
        end local 6 // javax.swing.MenuElement elem
        24: .line 456
            iinc 5 /* i */ -1
        end local 4 // javax.swing.MenuElement[] path
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.KeyEvent javax.swing.MenuElement[] int top int
      StackMap stack:
        25: iload 5 /* i */
            ifge 7
        end local 5 // int i
        26: .line 480
            iconst_1
            anewarray javax.swing.MenuElement
            astore 4 /* path */
        start local 4 // javax.swing.MenuElement[] path
        27: .line 481
            aload 4 /* path */
            iconst_0
            aload 2 /* sel2 */
            iconst_0
            aaload
            aastore
        28: .line 482
            aload 4 /* path */
            iconst_0
            aaload
            aload 1 /* e */
            aload 4 /* path */
            aload 0 /* this */
            invokeinterface javax.swing.MenuElement.processKeyEvent:(Ljava/awt/event/KeyEvent;[Ljavax/swing/MenuElement;Ljavax/swing/MenuSelectionManager;)V
        29: .line 483
            aload 1 /* e */
            invokevirtual java.awt.event.KeyEvent.isConsumed:()Z
            ifeq 31
        30: .line 484
            return
        31: .line 486
      StackMap locals: javax.swing.MenuSelectionManager java.awt.event.KeyEvent javax.swing.MenuElement[] int javax.swing.MenuElement[]
      StackMap stack:
            return
        end local 4 // javax.swing.MenuElement[] path
        end local 3 // int selSize
        end local 2 // javax.swing.MenuElement[] sel2
        end local 1 // java.awt.event.KeyEvent e
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Ljavax/swing/MenuSelectionManager;
            0   32     1        e  Ljava/awt/event/KeyEvent;
            1   32     2     sel2  [Ljavax/swing/MenuElement;
            3   32     3  selSize  I
           10   25     4     path  [Ljavax/swing/MenuElement;
           27   32     4     path  [Ljavax/swing/MenuElement;
            6   26     5        i  I
            8   24     6     elem  Ljavax/swing/MenuElement;
            9   24     7     subs  [Ljavax/swing/MenuElement;
           11   24     8        j  I
    MethodParameters:
      Name  Flags
      e     

  public boolean isComponentPartOfCurrentMenu(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // java.awt.Component c
         0: .line 492
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ifle 3
         1: .line 493
            aload 0 /* this */
            getfield javax.swing.MenuSelectionManager.selection:Ljava/util/Vector;
            iconst_0
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.MenuElement
            astore 2 /* me */
        start local 2 // javax.swing.MenuElement me
         2: .line 494
            aload 0 /* this */
            aload 2 /* me */
            aload 1 /* c */
            invokevirtual javax.swing.MenuSelectionManager.isComponentPartOfCurrentMenu:(Ljavax/swing/MenuElement;Ljava/awt/Component;)Z
            ireturn
        end local 2 // javax.swing.MenuElement me
         3: .line 496
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/MenuSelectionManager;
            0    4     1     c  Ljava/awt/Component;
            2    3     2    me  Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      c     

  private boolean isComponentPartOfCurrentMenu(javax.swing.MenuElement, java.awt.Component);
    descriptor: (Ljavax/swing/MenuElement;Ljava/awt/Component;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // javax.swing.MenuSelectionManager this
        start local 1 // javax.swing.MenuElement root
        start local 2 // java.awt.Component c
         0: .line 503
            aload 1 /* root */
            ifnonnull 2
         1: .line 504
            iconst_0
            ireturn
         2: .line 506
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            aload 2 /* c */
            if_acmpne 4
         3: .line 507
            iconst_1
            ireturn
         4: .line 509
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            astore 3 /* children */
        start local 3 // javax.swing.MenuElement[] children
         5: .line 510
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: aload 3 /* children */
            arraylength
            istore 5 /* d */
        start local 5 // int d
         7: goto 11
         8: .line 511
      StackMap locals: javax.swing.MenuElement[] int int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* children */
            iload 4 /* i */
            aaload
            aload 2 /* c */
            invokevirtual javax.swing.MenuSelectionManager.isComponentPartOfCurrentMenu:(Ljavax/swing/MenuElement;Ljava/awt/Component;)Z
            ifeq 10
         9: .line 512
            iconst_1
            ireturn
        10: .line 510
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 5 /* d */
            if_icmplt 8
        12: .line 515
            iconst_0
            ireturn
        end local 5 // int d
        end local 4 // int i
        end local 3 // javax.swing.MenuElement[] children
        end local 2 // java.awt.Component c
        end local 1 // javax.swing.MenuElement root
        end local 0 // javax.swing.MenuSelectionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Ljavax/swing/MenuSelectionManager;
            0   13     1      root  Ljavax/swing/MenuElement;
            0   13     2         c  Ljava/awt/Component;
            5   13     3  children  [Ljavax/swing/MenuElement;
            6   13     4         i  I
            7   13     5         d  I
    MethodParameters:
      Name  Flags
      root  
      c     
}
SourceFile: "MenuSelectionManager.java"
InnerClasses:
  public abstract MouseEventAccessor = sun.awt.AWTAccessor$MouseEventAccessor of sun.awt.AWTAccessor