class javax.swing.plaf.basic.BasicPopupMenuUI$Actions extends sun.swing.UIAction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicPopupMenuUI$Actions
  super_class: sun.swing.UIAction
{
  private static final java.lang.String CANCEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cancel"

  private static final java.lang.String SELECT_NEXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "selectNext"

  private static final java.lang.String SELECT_PREVIOUS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "selectPrevious"

  private static final java.lang.String SELECT_PARENT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "selectParent"

  private static final java.lang.String SELECT_CHILD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "selectChild"

  private static final java.lang.String RETURN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "return"

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

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

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

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

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
        start local 1 // java.lang.String key
         0: .line 398
            aload 0 /* this */
            aload 1 /* key */
            invokespecial sun.swing.UIAction.<init>:(Ljava/lang/String;)V
         1: .line 399
            return
        end local 1 // java.lang.String key
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            0    2     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public void actionPerformed(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
        start local 1 // java.awt.event.ActionEvent e
         0: .line 402
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.getName:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 403
            aload 2 /* key */
            ldc "cancel"
            if_acmpne 4
         2: .line 404
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.cancel:()V
         3: .line 405
            goto 18
         4: .line 406
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* key */
            ldc "selectNext"
            if_acmpne 7
         5: .line 407
            aload 0 /* this */
            iconst_1
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.selectItem:(Z)V
         6: .line 408
            goto 18
         7: .line 409
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ldc "selectPrevious"
            if_acmpne 10
         8: .line 410
            aload 0 /* this */
            iconst_0
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.selectItem:(Z)V
         9: .line 411
            goto 18
        10: .line 412
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ldc "selectParent"
            if_acmpne 13
        11: .line 413
            aload 0 /* this */
            iconst_0
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.selectParentChild:(Z)V
        12: .line 414
            goto 18
        13: .line 415
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ldc "selectChild"
            if_acmpne 16
        14: .line 416
            aload 0 /* this */
            iconst_1
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.selectParentChild:(Z)V
        15: .line 417
            goto 18
        16: .line 418
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ldc "return"
            if_acmpne 18
        17: .line 419
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.doReturn:()V
        18: .line 421
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String key
        end local 1 // java.awt.event.ActionEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            0   19     1     e  Ljava/awt/event/ActionEvent;
            1   19     2   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     

  private void doReturn();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
         0: .line 425
            invokestatic java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager:()Ljava/awt/KeyboardFocusManager;
         1: .line 424
            astore 1 /* fmgr */
        start local 1 // java.awt.KeyboardFocusManager fmgr
         2: .line 426
            aload 1 /* fmgr */
            invokevirtual java.awt.KeyboardFocusManager.getFocusOwner:()Ljava/awt/Component;
            astore 2 /* focusOwner */
        start local 2 // java.awt.Component focusOwner
         3: .line 427
            aload 2 /* focusOwner */
            ifnull 5
            aload 2 /* focusOwner */
            instanceof javax.swing.JRootPane
            ifne 5
         4: .line 428
            return
         5: .line 431
      StackMap locals: java.awt.KeyboardFocusManager java.awt.Component
      StackMap stack:
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            astore 3 /* msm */
        start local 3 // javax.swing.MenuSelectionManager msm
         6: .line 432
            aload 3 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 4 /* path */
        start local 4 // javax.swing.MenuElement[] path
         7: .line 434
            aload 4 /* path */
            arraylength
            ifle 22
         8: .line 435
            aload 4 /* path */
            aload 4 /* path */
            arraylength
            iconst_1
            isub
            aaload
            astore 5 /* lastElement */
        start local 5 // javax.swing.MenuElement lastElement
         9: .line 436
            aload 5 /* lastElement */
            instanceof javax.swing.JMenu
            ifeq 15
        10: .line 437
            aload 4 /* path */
            arraylength
            iconst_1
            iadd
            anewarray javax.swing.MenuElement
            astore 6 /* newPath */
        start local 6 // javax.swing.MenuElement[] newPath
        11: .line 438
            aload 4 /* path */
            iconst_0
            aload 6 /* newPath */
            iconst_0
            aload 4 /* path */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 439
            aload 6 /* newPath */
            aload 4 /* path */
            arraylength
            aload 5 /* lastElement */
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            aastore
        13: .line 440
            aload 3 /* msm */
            aload 6 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 6 // javax.swing.MenuElement[] newPath
        14: .line 441
            goto 22
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[] javax.swing.MenuElement
      StackMap stack:
        15: aload 5 /* lastElement */
            instanceof javax.swing.JMenuItem
            ifeq 22
        16: .line 442
            aload 5 /* lastElement */
            checkcast javax.swing.JMenuItem
            astore 6 /* mi */
        start local 6 // javax.swing.JMenuItem mi
        17: .line 444
            aload 6 /* mi */
            invokevirtual javax.swing.JMenuItem.getUI:()Ljavax/swing/plaf/ButtonUI;
            instanceof javax.swing.plaf.basic.BasicMenuItemUI
            ifeq 20
        18: .line 445
            aload 6 /* mi */
            invokevirtual javax.swing.JMenuItem.getUI:()Ljavax/swing/plaf/ButtonUI;
            checkcast javax.swing.plaf.basic.BasicMenuItemUI
            aload 3 /* msm */
            invokevirtual javax.swing.plaf.basic.BasicMenuItemUI.doClick:(Ljavax/swing/MenuSelectionManager;)V
        19: .line 446
            goto 22
        20: .line 448
      StackMap locals: javax.swing.JMenuItem
      StackMap stack:
            aload 3 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.clearSelectedPath:()V
        21: .line 449
            aload 6 /* mi */
            iconst_0
            invokevirtual javax.swing.JMenuItem.doClick:(I)V
        end local 6 // javax.swing.JMenuItem mi
        end local 5 // javax.swing.MenuElement lastElement
        22: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.swing.MenuElement[] path
        end local 3 // javax.swing.MenuSelectionManager msm
        end local 2 // java.awt.Component focusOwner
        end local 1 // java.awt.KeyboardFocusManager fmgr
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            2   23     1         fmgr  Ljava/awt/KeyboardFocusManager;
            3   23     2   focusOwner  Ljava/awt/Component;
            6   23     3          msm  Ljavax/swing/MenuSelectionManager;
            7   23     4         path  [Ljavax/swing/MenuElement;
            9   22     5  lastElement  Ljavax/swing/MenuElement;
           11   14     6      newPath  [Ljavax/swing/MenuElement;
           17   22     6           mi  Ljavax/swing/JMenuItem;

  private void selectParentChild(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
        start local 1 // boolean direction
         0: .line 455
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            astore 2 /* msm */
        start local 2 // javax.swing.MenuSelectionManager msm
         1: .line 456
            aload 2 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 3 /* path */
        start local 3 // javax.swing.MenuElement[] path
         2: .line 457
            aload 3 /* path */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         3: .line 459
            iload 1 /* direction */
            ifne 13
         4: .line 461
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* popupIndex */
        start local 5 // int popupIndex
         5: .line 463
            iload 4 /* len */
            iconst_2
            if_icmple 28
         6: .line 467
            aload 3 /* path */
            iload 5 /* popupIndex */
            aaload
            instanceof javax.swing.JPopupMenu
            ifne 8
         7: .line 468
            aload 3 /* path */
            iinc 5 /* popupIndex */ -1
            iload 5 /* popupIndex */
            aaload
            instanceof javax.swing.JPopupMenu
            ifeq 28
         8: .line 469
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$Actions int javax.swing.MenuSelectionManager javax.swing.MenuElement[] int int
      StackMap stack:
            aload 3 /* path */
            iload 5 /* popupIndex */
            iconst_1
            isub
            aaload
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifne 28
         9: .line 472
            iload 5 /* popupIndex */
            anewarray javax.swing.MenuElement
            astore 6 /* newPath */
        start local 6 // javax.swing.MenuElement[] newPath
        10: .line 473
            aload 3 /* path */
            iconst_0
            aload 6 /* newPath */
            iconst_0
            iload 5 /* popupIndex */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 474
            aload 2 /* msm */
            aload 6 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        12: .line 475
            return
        end local 6 // javax.swing.MenuElement[] newPath
        end local 5 // int popupIndex
        13: .line 479
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ifle 28
            aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aaload
            instanceof javax.swing.JMenu
            ifeq 28
        14: .line 480
            aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aaload
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifne 28
        15: .line 483
            aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aaload
            checkcast javax.swing.JMenu
            astore 5 /* menu */
        start local 5 // javax.swing.JMenu menu
        16: .line 484
            aload 5 /* menu */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            astore 6 /* popup */
        start local 6 // javax.swing.JPopupMenu popup
        17: .line 485
            aload 6 /* popup */
            invokevirtual javax.swing.JPopupMenu.getSubElements:()[Ljavax/swing/MenuElement;
            astore 7 /* subs */
        start local 7 // javax.swing.MenuElement[] subs
        18: .line 486
            aload 7 /* subs */
            iconst_m1
            iconst_1
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;IZ)Ljavax/swing/MenuElement;
            astore 8 /* item */
        start local 8 // javax.swing.MenuElement item
        19: .line 489
            aload 8 /* item */
            ifnonnull 22
        20: .line 490
            iload 4 /* len */
            iconst_1
            iadd
            anewarray javax.swing.MenuElement
            astore 9 /* newPath */
        start local 9 // javax.swing.MenuElement[] newPath
        21: .line 491
            goto 24
        end local 9 // javax.swing.MenuElement[] newPath
        22: .line 492
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$Actions int javax.swing.MenuSelectionManager javax.swing.MenuElement[] int javax.swing.JMenu javax.swing.JPopupMenu javax.swing.MenuElement[] javax.swing.MenuElement
      StackMap stack:
            iload 4 /* len */
            iconst_2
            iadd
            anewarray javax.swing.MenuElement
            astore 9 /* newPath */
        start local 9 // javax.swing.MenuElement[] newPath
        23: .line 493
            aload 9 /* newPath */
            iload 4 /* len */
            iconst_1
            iadd
            aload 8 /* item */
            aastore
        24: .line 495
      StackMap locals: javax.swing.MenuElement[]
      StackMap stack:
            aload 3 /* path */
            iconst_0
            aload 9 /* newPath */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 496
            aload 9 /* newPath */
            iload 4 /* len */
            aload 6 /* popup */
            aastore
        26: .line 497
            aload 2 /* msm */
            aload 9 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        27: .line 498
            return
        end local 9 // javax.swing.MenuElement[] newPath
        end local 8 // javax.swing.MenuElement item
        end local 7 // javax.swing.MenuElement[] subs
        end local 6 // javax.swing.JPopupMenu popup
        end local 5 // javax.swing.JMenu menu
        28: .line 504
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$Actions int javax.swing.MenuSelectionManager javax.swing.MenuElement[] int
      StackMap stack:
            iload 4 /* len */
            iconst_1
            if_icmple 43
            aload 3 /* path */
            iconst_0
            aaload
            instanceof javax.swing.JMenuBar
            ifeq 43
        29: .line 505
            aload 3 /* path */
            iconst_1
            aaload
            astore 5 /* currentMenu */
        start local 5 // javax.swing.MenuElement currentMenu
        30: .line 507
            aload 3 /* path */
            iconst_0
            aaload
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            aload 5 /* currentMenu */
            iload 1 /* direction */
        31: .line 506
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;Ljavax/swing/MenuElement;Z)Ljavax/swing/MenuElement;
            astore 6 /* nextMenu */
        start local 6 // javax.swing.MenuElement nextMenu
        32: .line 509
            aload 6 /* nextMenu */
            ifnull 43
            aload 6 /* nextMenu */
            aload 5 /* currentMenu */
            if_acmpeq 43
        33: .line 511
            iload 4 /* len */
            iconst_2
            if_icmpne 38
        34: .line 513
            iconst_2
            anewarray javax.swing.MenuElement
            astore 7 /* newSelection */
        start local 7 // javax.swing.MenuElement[] newSelection
        35: .line 514
            aload 7 /* newSelection */
            iconst_0
            aload 3 /* path */
            iconst_0
            aaload
            aastore
        36: .line 515
            aload 7 /* newSelection */
            iconst_1
            aload 6 /* nextMenu */
            aastore
        37: .line 516
            goto 42
        end local 7 // javax.swing.MenuElement[] newSelection
        38: .line 518
      StackMap locals: javax.swing.MenuElement javax.swing.MenuElement
      StackMap stack:
            iconst_3
            anewarray javax.swing.MenuElement
            astore 7 /* newSelection */
        start local 7 // javax.swing.MenuElement[] newSelection
        39: .line 519
            aload 7 /* newSelection */
            iconst_0
            aload 3 /* path */
            iconst_0
            aaload
            aastore
        40: .line 520
            aload 7 /* newSelection */
            iconst_1
            aload 6 /* nextMenu */
            aastore
        41: .line 521
            aload 7 /* newSelection */
            iconst_2
            aload 6 /* nextMenu */
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            aastore
        42: .line 523
      StackMap locals: javax.swing.MenuElement[]
      StackMap stack:
            aload 2 /* msm */
            aload 7 /* newSelection */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 7 // javax.swing.MenuElement[] newSelection
        end local 6 // javax.swing.MenuElement nextMenu
        end local 5 // javax.swing.MenuElement currentMenu
        43: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int len
        end local 3 // javax.swing.MenuElement[] path
        end local 2 // javax.swing.MenuSelectionManager msm
        end local 1 // boolean direction
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            0   44     1     direction  Z
            1   44     2           msm  Ljavax/swing/MenuSelectionManager;
            2   44     3          path  [Ljavax/swing/MenuElement;
            3   44     4           len  I
            5   13     5    popupIndex  I
           10   13     6       newPath  [Ljavax/swing/MenuElement;
           16   28     5          menu  Ljavax/swing/JMenu;
           17   28     6         popup  Ljavax/swing/JPopupMenu;
           18   28     7          subs  [Ljavax/swing/MenuElement;
           19   28     8          item  Ljavax/swing/MenuElement;
           21   22     9       newPath  [Ljavax/swing/MenuElement;
           23   28     9       newPath  [Ljavax/swing/MenuElement;
           30   43     5   currentMenu  Ljavax/swing/MenuElement;
           32   43     6      nextMenu  Ljavax/swing/MenuElement;
           35   38     7  newSelection  [Ljavax/swing/MenuElement;
           39   43     7  newSelection  [Ljavax/swing/MenuElement;
    MethodParameters:
           Name  Flags
      direction  

  private void selectItem(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
        start local 1 // boolean direction
         0: .line 529
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            astore 2 /* msm */
        start local 2 // javax.swing.MenuSelectionManager msm
         1: .line 530
            aload 2 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 3 /* path */
        start local 3 // javax.swing.MenuElement[] path
         2: .line 531
            aload 3 /* path */
            arraylength
            ifne 4
         3: .line 532
            return
         4: .line 534
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[]
      StackMap stack:
            aload 3 /* path */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         5: .line 535
            iload 4 /* len */
            iconst_1
            if_icmpne 12
            aload 3 /* path */
            iconst_0
            aaload
            instanceof javax.swing.JPopupMenu
            ifeq 12
         6: .line 537
            aload 3 /* path */
            iconst_0
            aaload
            checkcast javax.swing.JPopupMenu
            astore 5 /* popup */
        start local 5 // javax.swing.JPopupMenu popup
         7: .line 538
            iconst_2
            anewarray javax.swing.MenuElement
            astore 6 /* newPath */
        start local 6 // javax.swing.MenuElement[] newPath
         8: .line 539
            aload 6 /* newPath */
            iconst_0
            aload 5 /* popup */
            aastore
         9: .line 540
            aload 6 /* newPath */
            iconst_1
            aload 5 /* popup */
            invokevirtual javax.swing.JPopupMenu.getSubElements:()[Ljavax/swing/MenuElement;
            iconst_m1
            iload 1 /* direction */
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;IZ)Ljavax/swing/MenuElement;
            aastore
        10: .line 541
            aload 2 /* msm */
            aload 6 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 6 // javax.swing.MenuElement[] newPath
        end local 5 // javax.swing.JPopupMenu popup
        11: .line 542
            goto 57
      StackMap locals: int
      StackMap stack:
        12: iload 4 /* len */
            iconst_2
            if_icmpne 26
        13: .line 543
            aload 3 /* path */
            iconst_0
            aaload
            instanceof javax.swing.JMenuBar
            ifeq 26
            aload 3 /* path */
            iconst_1
            aaload
            instanceof javax.swing.JMenu
            ifeq 26
        14: .line 547
            aload 3 /* path */
            iconst_1
            aaload
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            astore 5 /* popup */
        start local 5 // javax.swing.JPopupMenu popup
        15: .line 549
            aload 5 /* popup */
            invokevirtual javax.swing.JPopupMenu.getSubElements:()[Ljavax/swing/MenuElement;
            iconst_m1
            iconst_1
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;IZ)Ljavax/swing/MenuElement;
        16: .line 548
            astore 6 /* next */
        start local 6 // javax.swing.MenuElement next
        17: .line 552
            aload 6 /* next */
            ifnull 21
        18: .line 554
            iconst_4
            anewarray javax.swing.MenuElement
            astore 7 /* newPath */
        start local 7 // javax.swing.MenuElement[] newPath
        19: .line 555
            aload 7 /* newPath */
            iconst_3
            aload 6 /* next */
            aastore
        20: .line 556
            goto 22
        end local 7 // javax.swing.MenuElement[] newPath
        21: .line 558
      StackMap locals: javax.swing.JPopupMenu javax.swing.MenuElement
      StackMap stack:
            iconst_3
            anewarray javax.swing.MenuElement
            astore 7 /* newPath */
        start local 7 // javax.swing.MenuElement[] newPath
        22: .line 560
      StackMap locals: javax.swing.MenuElement[]
      StackMap stack:
            aload 3 /* path */
            iconst_0
            aload 7 /* newPath */
            iconst_0
            iconst_2
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 561
            aload 7 /* newPath */
            iconst_2
            aload 5 /* popup */
            aastore
        24: .line 562
            aload 2 /* msm */
            aload 7 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 7 // javax.swing.MenuElement[] newPath
        end local 6 // javax.swing.MenuElement next
        end local 5 // javax.swing.JPopupMenu popup
        25: .line 564
            goto 57
      StackMap locals:
      StackMap stack:
        26: aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aaload
            instanceof javax.swing.JPopupMenu
            ifeq 49
        27: .line 565
            aload 3 /* path */
            iload 4 /* len */
            iconst_2
            isub
            aaload
            instanceof javax.swing.JMenu
            ifeq 49
        28: .line 569
            aload 3 /* path */
            iload 4 /* len */
            iconst_2
            isub
            aaload
            checkcast javax.swing.JMenu
            astore 5 /* menu */
        start local 5 // javax.swing.JMenu menu
        29: .line 570
            aload 5 /* menu */
            invokevirtual javax.swing.JMenu.getPopupMenu:()Ljavax/swing/JPopupMenu;
            astore 6 /* popup */
        start local 6 // javax.swing.JPopupMenu popup
        30: .line 572
            aload 6 /* popup */
            invokevirtual javax.swing.JPopupMenu.getSubElements:()[Ljavax/swing/MenuElement;
            iconst_m1
            iload 1 /* direction */
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;IZ)Ljavax/swing/MenuElement;
        31: .line 571
            astore 7 /* next */
        start local 7 // javax.swing.MenuElement next
        32: .line 574
            aload 7 /* next */
            ifnull 38
        33: .line 575
            iload 4 /* len */
            iconst_1
            iadd
            anewarray javax.swing.MenuElement
            astore 8 /* newPath */
        start local 8 // javax.swing.MenuElement[] newPath
        34: .line 576
            aload 3 /* path */
            iconst_0
            aload 8 /* newPath */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        35: .line 577
            aload 8 /* newPath */
            iload 4 /* len */
            aload 7 /* next */
            aastore
        36: .line 578
            aload 2 /* msm */
            aload 8 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 8 // javax.swing.MenuElement[] newPath
        37: .line 579
            goto 57
        38: .line 584
      StackMap locals: javax.swing.JMenu javax.swing.JPopupMenu javax.swing.MenuElement
      StackMap stack:
            iload 4 /* len */
            iconst_2
            if_icmple 57
            aload 3 /* path */
            iload 4 /* len */
            iconst_3
            isub
            aaload
            instanceof javax.swing.JPopupMenu
            ifeq 57
        39: .line 585
            aload 3 /* path */
            iload 4 /* len */
            iconst_3
            isub
            aaload
            checkcast javax.swing.JPopupMenu
            astore 6 /* popup */
        40: .line 586
            aload 6 /* popup */
            invokevirtual javax.swing.JPopupMenu.getSubElements:()[Ljavax/swing/MenuElement;
        41: .line 587
            aload 5 /* menu */
            iload 1 /* direction */
        42: .line 586
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;Ljavax/swing/MenuElement;Z)Ljavax/swing/MenuElement;
            astore 7 /* next */
        43: .line 589
            aload 7 /* next */
            ifnull 57
            aload 7 /* next */
            aload 5 /* menu */
            if_acmpeq 57
        44: .line 590
            iload 4 /* len */
            iconst_1
            isub
            anewarray javax.swing.MenuElement
            astore 8 /* newPath */
        start local 8 // javax.swing.MenuElement[] newPath
        45: .line 591
            aload 3 /* path */
            iconst_0
            aload 8 /* newPath */
            iconst_0
            iload 4 /* len */
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        46: .line 592
            aload 8 /* newPath */
            iload 4 /* len */
            iconst_2
            isub
            aload 7 /* next */
            aastore
        47: .line 593
            aload 2 /* msm */
            aload 8 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 8 // javax.swing.MenuElement[] newPath
        end local 7 // javax.swing.MenuElement next
        end local 6 // javax.swing.JPopupMenu popup
        end local 5 // javax.swing.JMenu menu
        48: .line 598
            goto 57
        49: .line 600
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            iload 4 /* len */
            iconst_2
            isub
            aaload
            invokeinterface javax.swing.MenuElement.getSubElements:()[Ljavax/swing/MenuElement;
            astore 5 /* subs */
        start local 5 // javax.swing.MenuElement[] subs
        50: .line 602
            aload 5 /* subs */
            aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aaload
            iload 1 /* direction */
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;Ljavax/swing/MenuElement;Z)Ljavax/swing/MenuElement;
        51: .line 601
            astore 6 /* nextChild */
        start local 6 // javax.swing.MenuElement nextChild
        52: .line 603
            aload 6 /* nextChild */
            ifnonnull 54
        53: .line 604
            aload 5 /* subs */
            iconst_m1
            iload 1 /* direction */
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.findEnabledChild:([Ljavax/swing/MenuElement;IZ)Ljavax/swing/MenuElement;
            astore 6 /* nextChild */
        54: .line 606
      StackMap locals: javax.swing.MenuElement[] javax.swing.MenuElement
      StackMap stack:
            aload 6 /* nextChild */
            ifnull 57
        55: .line 607
            aload 3 /* path */
            iload 4 /* len */
            iconst_1
            isub
            aload 6 /* nextChild */
            aastore
        56: .line 608
            aload 2 /* msm */
            aload 3 /* path */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        end local 6 // javax.swing.MenuElement nextChild
        end local 5 // javax.swing.MenuElement[] subs
        57: .line 611
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int len
        end local 3 // javax.swing.MenuElement[] path
        end local 2 // javax.swing.MenuSelectionManager msm
        end local 1 // boolean direction
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   58     0       this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            0   58     1  direction  Z
            1   58     2        msm  Ljavax/swing/MenuSelectionManager;
            2   58     3       path  [Ljavax/swing/MenuElement;
            5   58     4        len  I
            7   11     5      popup  Ljavax/swing/JPopupMenu;
            8   11     6    newPath  [Ljavax/swing/MenuElement;
           15   25     5      popup  Ljavax/swing/JPopupMenu;
           17   25     6       next  Ljavax/swing/MenuElement;
           19   21     7    newPath  [Ljavax/swing/MenuElement;
           22   25     7    newPath  [Ljavax/swing/MenuElement;
           29   48     5       menu  Ljavax/swing/JMenu;
           30   48     6      popup  Ljavax/swing/JPopupMenu;
           32   48     7       next  Ljavax/swing/MenuElement;
           34   37     8    newPath  [Ljavax/swing/MenuElement;
           45   48     8    newPath  [Ljavax/swing/MenuElement;
           50   57     5       subs  [Ljavax/swing/MenuElement;
           52   57     6  nextChild  Ljavax/swing/MenuElement;
    MethodParameters:
           Name  Flags
      direction  

  private void cancel();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
         0: .line 617
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.getLastPopup:()Ljavax/swing/JPopupMenu;
            astore 1 /* lastPopup */
        start local 1 // javax.swing.JPopupMenu lastPopup
         1: .line 618
            aload 1 /* lastPopup */
            ifnull 3
         2: .line 619
            aload 1 /* lastPopup */
            ldc "JPopupMenu.firePopupMenuCanceled"
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual javax.swing.JPopupMenu.putClientProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 621
      StackMap locals: javax.swing.JPopupMenu
      StackMap stack:
            ldc "Menu.cancelMode"
            invokestatic javax.swing.UIManager.getString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* mode */
        start local 2 // java.lang.String mode
         4: .line 622
            ldc "hideMenuTree"
            aload 2 /* mode */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 623
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            invokevirtual javax.swing.MenuSelectionManager.clearSelectedPath:()V
         6: .line 624
            goto 8
         7: .line 625
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$Actions.shortenSelectedPath:()V
         8: .line 627
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String mode
        end local 1 // javax.swing.JPopupMenu lastPopup
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            1    9     1  lastPopup  Ljavax/swing/JPopupMenu;
            4    9     2       mode  Ljava/lang/String;

  private void shortenSelectedPath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
         0: .line 630
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 1 /* path */
        start local 1 // javax.swing.MenuElement[] path
         1: .line 631
            aload 1 /* path */
            arraylength
            iconst_2
            if_icmpgt 4
         2: .line 632
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            invokevirtual javax.swing.MenuSelectionManager.clearSelectedPath:()V
         3: .line 633
            return
         4: .line 636
      StackMap locals: javax.swing.MenuElement[]
      StackMap stack:
            iconst_2
            istore 2 /* value */
        start local 2 // int value
         5: .line 637
            aload 1 /* path */
            aload 1 /* path */
            arraylength
            iconst_1
            isub
            aaload
            astore 3 /* lastElement */
        start local 3 // javax.swing.MenuElement lastElement
         6: .line 638
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.getLastPopup:()Ljavax/swing/JPopupMenu;
            astore 4 /* lastPopup */
        start local 4 // javax.swing.JPopupMenu lastPopup
         7: .line 639
            aload 3 /* lastElement */
            aload 4 /* lastPopup */
            if_acmpne 15
         8: .line 640
            aload 1 /* path */
            aload 1 /* path */
            arraylength
            iconst_2
            isub
            aaload
            astore 5 /* previousElement */
        start local 5 // javax.swing.MenuElement previousElement
         9: .line 641
            aload 5 /* previousElement */
            instanceof javax.swing.JMenu
            ifeq 15
        10: .line 642
            aload 5 /* previousElement */
            checkcast javax.swing.JMenu
            astore 6 /* lastMenu */
        start local 6 // javax.swing.JMenu lastMenu
        11: .line 643
            aload 6 /* lastMenu */
            invokevirtual javax.swing.JMenu.isEnabled:()Z
            ifeq 14
            aload 4 /* lastPopup */
            invokevirtual javax.swing.JPopupMenu.getComponentCount:()I
            ifle 14
        12: .line 645
            iconst_1
            istore 2 /* value */
        13: .line 646
            goto 15
        14: .line 648
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$Actions javax.swing.MenuElement[] int javax.swing.MenuElement javax.swing.JPopupMenu javax.swing.MenuElement javax.swing.JMenu
      StackMap stack:
            iconst_3
            istore 2 /* value */
        end local 6 // javax.swing.JMenu lastMenu
        end local 5 // javax.swing.MenuElement previousElement
        15: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            arraylength
            iload 2 /* value */
            isub
            iconst_2
            if_icmpgt 18
        16: .line 653
            ldc "Menu.preserveTopLevelSelection"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 655
            aload 1 /* path */
            arraylength
            istore 2 /* value */
        18: .line 657
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            arraylength
            iload 2 /* value */
            isub
            anewarray javax.swing.MenuElement
            astore 5 /* newPath */
        start local 5 // javax.swing.MenuElement[] newPath
        19: .line 658
            aload 1 /* path */
            iconst_0
            aload 5 /* newPath */
            iconst_0
            aload 1 /* path */
            arraylength
            iload 2 /* value */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 659
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 5 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
        21: .line 660
            return
        end local 5 // javax.swing.MenuElement[] newPath
        end local 4 // javax.swing.JPopupMenu lastPopup
        end local 3 // javax.swing.MenuElement lastElement
        end local 2 // int value
        end local 1 // javax.swing.MenuElement[] path
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$Actions this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$Actions;
            1   22     1             path  [Ljavax/swing/MenuElement;
            5   22     2            value  I
            6   22     3      lastElement  Ljavax/swing/MenuElement;
            7   22     4        lastPopup  Ljavax/swing/JPopupMenu;
            9   15     5  previousElement  Ljavax/swing/MenuElement;
           11   15     6         lastMenu  Ljavax/swing/JMenu;
           19   22     5          newPath  [Ljavax/swing/MenuElement;
}
SourceFile: "BasicPopupMenuUI.java"
NestHost: javax.swing.plaf.basic.BasicPopupMenuUI
InnerClasses:
  private Actions = javax.swing.plaf.basic.BasicPopupMenuUI$Actions of javax.swing.plaf.basic.BasicPopupMenuUI