class javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber implements javax.swing.event.ChangeListener, java.awt.event.AWTEventListener, java.awt.event.ComponentListener, java.awt.event.WindowListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber
  super_class: java.lang.Object
{
  java.awt.Window grabbedWindow;
    descriptor: Ljava/awt/Window;
    flags: (0x0000) 

  javax.swing.MenuElement[] lastPathSelected;
    descriptor: [Ljavax/swing/MenuElement;
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
         0: .line 733
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 734
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            astore 1 /* msm */
        start local 1 // javax.swing.MenuSelectionManager msm
         2: .line 735
            aload 1 /* msm */
            aload 0 /* this */
            invokevirtual javax.swing.MenuSelectionManager.addChangeListener:(Ljavax/swing/event/ChangeListener;)V
         3: .line 736
            aload 0 /* this */
            aload 1 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            putfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
         4: .line 737
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
            arraylength
            ifeq 6
         5: .line 738
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabWindow:([Ljavax/swing/MenuElement;)V
         6: .line 740
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber javax.swing.MenuSelectionManager
      StackMap stack:
            return
        end local 1 // javax.swing.MenuSelectionManager msm
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            2    7     1   msm  Ljavax/swing/MenuSelectionManager;

  void uninstall();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
         0: .line 743
            getstatic javax.swing.plaf.basic.BasicPopupMenuUI.MOUSE_GRABBER_KEY:Ljava/lang/StringBuilder;
            dup
            astore 1
            monitorenter
         1: .line 744
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 0 /* this */
            invokevirtual javax.swing.MenuSelectionManager.removeChangeListener:(Ljavax/swing/event/ChangeListener;)V
         2: .line 745
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.ungrabWindow:()V
         3: .line 746
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic javax.swing.plaf.basic.BasicPopupMenuUI.MOUSE_GRABBER_KEY:Ljava/lang/StringBuilder;
            invokevirtual sun.awt.AppContext.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 743
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber java.lang.StringBuilder
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 748
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  void grabWindow(javax.swing.MenuElement[]);
    descriptor: ([Ljavax/swing/MenuElement;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // javax.swing.MenuElement[] newPath
         0: .line 752
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 2 /* tk */
        start local 2 // java.awt.Toolkit tk
         1: .line 754
            new javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$1
            dup
            aload 0 /* this */
            aload 2 /* tk */
            invokespecial javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$1.<init>:(Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;Ljava/awt/Toolkit;)V
         2: .line 753
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 766
            aload 1 /* newPath */
            iconst_0
            aaload
            invokeinterface javax.swing.MenuElement.getComponent:()Ljava/awt/Component;
            astore 3 /* invoker */
        start local 3 // java.awt.Component invoker
         4: .line 767
            aload 3 /* invoker */
            instanceof javax.swing.JPopupMenu
            ifeq 6
         5: .line 768
            aload 3 /* invoker */
            checkcast javax.swing.JPopupMenu
            invokevirtual javax.swing.JPopupMenu.getInvoker:()Ljava/awt/Component;
            astore 3 /* invoker */
         6: .line 770
      StackMap locals: java.awt.Toolkit java.awt.Component
      StackMap stack:
            aload 0 /* this */
            aload 3 /* invoker */
            instanceof java.awt.Window
            ifeq 8
         7: .line 771
            aload 3 /* invoker */
            checkcast java.awt.Window
            goto 9
         8: .line 772
      StackMap locals:
      StackMap stack: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber
            aload 3 /* invoker */
            invokestatic javax.swing.SwingUtilities.getWindowAncestor:(Ljava/awt/Component;)Ljava/awt/Window;
         9: .line 770
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber javax.swing.MenuElement[] java.awt.Toolkit java.awt.Component
      StackMap stack: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber java.awt.Window
            putfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
        10: .line 773
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            ifnull 16
        11: .line 774
            aload 2 /* tk */
            instanceof sun.awt.SunToolkit
            ifeq 14
        12: .line 775
            aload 2 /* tk */
            checkcast sun.awt.SunToolkit
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            invokevirtual sun.awt.SunToolkit.grab:(Ljava/awt/Window;)V
        13: .line 776
            goto 16
        14: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            aload 0 /* this */
            invokevirtual java.awt.Window.addComponentListener:(Ljava/awt/event/ComponentListener;)V
        15: .line 778
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            aload 0 /* this */
            invokevirtual java.awt.Window.addWindowListener:(Ljava/awt/event/WindowListener;)V
        16: .line 781
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.awt.Component invoker
        end local 2 // java.awt.Toolkit tk
        end local 1 // javax.swing.MenuElement[] newPath
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0   17     1  newPath  [Ljavax/swing/MenuElement;
            1   17     2       tk  Ljava/awt/Toolkit;
            4   17     3  invoker  Ljava/awt/Component;
    MethodParameters:
         Name  Flags
      newPath  

  void ungrabWindow();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
         0: .line 784
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 1 /* tk */
        start local 1 // java.awt.Toolkit tk
         1: .line 787
            new javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$2
            dup
            aload 0 /* this */
            aload 1 /* tk */
            invokespecial javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$2.<init>:(Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;Ljava/awt/Toolkit;)V
         2: .line 786
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 794
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.realUngrabWindow:()V
         4: .line 795
            return
        end local 1 // java.awt.Toolkit tk
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            1    5     1    tk  Ljava/awt/Toolkit;

  void realUngrabWindow();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
         0: .line 798
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 1 /* tk */
        start local 1 // java.awt.Toolkit tk
         1: .line 799
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            ifnull 8
         2: .line 800
            aload 1 /* tk */
            instanceof sun.awt.SunToolkit
            ifeq 5
         3: .line 801
            aload 1 /* tk */
            checkcast sun.awt.SunToolkit
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            invokevirtual sun.awt.SunToolkit.ungrab:(Ljava/awt/Window;)V
         4: .line 802
            goto 7
         5: .line 803
      StackMap locals: java.awt.Toolkit
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            aload 0 /* this */
            invokevirtual java.awt.Window.removeComponentListener:(Ljava/awt/event/ComponentListener;)V
         6: .line 804
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
            aload 0 /* this */
            invokevirtual java.awt.Window.removeWindowListener:(Ljava/awt/event/WindowListener;)V
         7: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabbedWindow:Ljava/awt/Window;
         8: .line 808
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Toolkit tk
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            1    9     1    tk  Ljava/awt/Toolkit;

  public void stateChanged(javax.swing.event.ChangeEvent);
    descriptor: (Ljavax/swing/event/ChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // javax.swing.event.ChangeEvent e
         0: .line 811
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            astore 2 /* msm */
        start local 2 // javax.swing.MenuSelectionManager msm
         1: .line 812
            aload 2 /* msm */
            invokevirtual javax.swing.MenuSelectionManager.getSelectedPath:()[Ljavax/swing/MenuElement;
            astore 3 /* p */
        start local 3 // javax.swing.MenuElement[] p
         2: .line 814
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
            arraylength
            ifne 4
            aload 3 /* p */
            arraylength
            ifeq 4
         3: .line 815
            aload 0 /* this */
            aload 3 /* p */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.grabWindow:([Ljavax/swing/MenuElement;)V
         4: .line 818
      StackMap locals: javax.swing.MenuSelectionManager javax.swing.MenuElement[]
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
            arraylength
            ifeq 6
            aload 3 /* p */
            arraylength
            ifne 6
         5: .line 819
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.ungrabWindow:()V
         6: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* p */
            putfield javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.lastPathSelected:[Ljavax/swing/MenuElement;
         7: .line 823
            return
        end local 3 // javax.swing.MenuElement[] p
        end local 2 // javax.swing.MenuSelectionManager msm
        end local 1 // javax.swing.event.ChangeEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    8     1     e  Ljavax/swing/event/ChangeEvent;
            1    8     2   msm  Ljavax/swing/MenuSelectionManager;
            2    8     3     p  [Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      e     

  public void eventDispatched(java.awt.AWTEvent);
    descriptor: (Ljava/awt/AWTEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.AWTEvent ev
         0: .line 826
            aload 1 /* ev */
            instanceof sun.awt.UngrabEvent
            ifeq 3
         1: .line 828
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         2: .line 829
            return
         3: .line 831
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            instanceof java.awt.event.MouseEvent
            ifne 5
         4: .line 833
            return
         5: .line 835
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            checkcast java.awt.event.MouseEvent
            astore 2 /* me */
        start local 2 // java.awt.event.MouseEvent me
         6: .line 836
            aload 2 /* me */
            invokevirtual java.awt.event.MouseEvent.getComponent:()Ljava/awt/Component;
            astore 3 /* src */
        start local 3 // java.awt.Component src
         7: .line 837
            aload 2 /* me */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            tableswitch { // 501 - 507
                  501: 8
                  502: 21
                  503: 38
                  504: 38
                  505: 38
                  506: 28
                  507: 34
              default: 38
          }
         8: .line 839
      StackMap locals: java.awt.event.MouseEvent java.awt.Component
      StackMap stack:
            aload 0 /* this */
            aload 3 /* src */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.isInPopup:(Ljava/awt/Component;)Z
            ifne 10
         9: .line 840
            aload 3 /* src */
            instanceof javax.swing.JMenu
            ifeq 11
            aload 3 /* src */
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isSelected:()Z
            ifeq 11
        10: .line 841
      StackMap locals:
      StackMap stack:
            return
        11: .line 843
      StackMap locals:
      StackMap stack:
            aload 3 /* src */
            instanceof javax.swing.JComponent
            ifeq 15
        12: .line 844
            aload 3 /* src */
            checkcast javax.swing.JComponent
            ldc "doNotCancelPopup"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
        13: .line 845
            getstatic javax.swing.plaf.basic.BasicComboBoxUI.HIDE_POPUP_KEY:Ljava/lang/StringBuffer;
        14: .line 844
            if_acmpeq 38
        15: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
        16: .line 853
            ldc "PopupMenu.consumeEventOnClose"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
        17: .line 852
            istore 4 /* consumeEvent */
        start local 4 // boolean consumeEvent
        18: .line 855
            iload 4 /* consumeEvent */
            ifeq 38
            aload 3 /* src */
            instanceof javax.swing.MenuElement
            ifne 38
        19: .line 856
            aload 2 /* me */
            invokevirtual java.awt.event.MouseEvent.consume:()V
        end local 4 // boolean consumeEvent
        20: .line 859
            goto 38
        21: .line 862
      StackMap locals:
      StackMap stack:
            aload 3 /* src */
            instanceof javax.swing.MenuElement
            ifne 24
        22: .line 864
            aload 0 /* this */
            aload 3 /* src */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.isInPopup:(Ljava/awt/Component;)Z
            ifeq 24
        23: .line 865
            goto 38
        24: .line 868
      StackMap locals:
      StackMap stack:
            aload 3 /* src */
            instanceof javax.swing.JMenu
            ifne 25
            aload 3 /* src */
            instanceof javax.swing.JMenuItem
            ifne 38
        25: .line 869
      StackMap locals:
      StackMap stack:
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
        26: .line 870
            aload 2 /* me */
            invokevirtual javax.swing.MenuSelectionManager.processMouseEvent:(Ljava/awt/event/MouseEvent;)V
        27: .line 872
            goto 38
        28: .line 874
      StackMap locals:
      StackMap stack:
            aload 3 /* src */
            instanceof javax.swing.MenuElement
            ifne 31
        29: .line 879
            aload 0 /* this */
            aload 3 /* src */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.isInPopup:(Ljava/awt/Component;)Z
            ifeq 31
        30: .line 880
            goto 38
        31: .line 883
      StackMap locals:
      StackMap stack:
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
        32: .line 884
            aload 2 /* me */
            invokevirtual javax.swing.MenuSelectionManager.processMouseEvent:(Ljava/awt/event/MouseEvent;)V
        33: .line 885
            goto 38
        34: .line 887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* src */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.isInPopup:(Ljava/awt/Component;)Z
            ifne 36
        35: .line 888
            aload 3 /* src */
            instanceof javax.swing.JComboBox
            ifeq 37
            aload 3 /* src */
            checkcast javax.swing.JComboBox
            invokevirtual javax.swing.JComboBox.isPopupVisible:()Z
            ifeq 37
        36: .line 890
      StackMap locals:
      StackMap stack:
            return
        37: .line 892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
        38: .line 895
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.awt.Component src
        end local 2 // java.awt.event.MouseEvent me
        end local 1 // java.awt.AWTEvent ev
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0          this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0   39     1            ev  Ljava/awt/AWTEvent;
            6   39     2            me  Ljava/awt/event/MouseEvent;
            7   39     3           src  Ljava/awt/Component;
           18   20     4  consumeEvent  Z
    MethodParameters:
      Name  Flags
      ev    

  boolean isInPopup(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.Component src
         0: .line 898
            aload 1 /* src */
            astore 2 /* c */
        start local 2 // java.awt.Component c
         1: goto 7
         2: .line 899
      StackMap locals: java.awt.Component
      StackMap stack:
            aload 2 /* c */
            instanceof java.applet.Applet
            ifne 8
            aload 2 /* c */
            instanceof java.awt.Window
            ifeq 4
         3: .line 900
            goto 8
         4: .line 901
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            instanceof javax.swing.JPopupMenu
            ifeq 6
         5: .line 902
            iconst_1
            ireturn
         6: .line 898
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual java.awt.Component.getParent:()Ljava/awt/Container;
            astore 2 /* c */
      StackMap locals:
      StackMap stack:
         7: aload 2 /* c */
            ifnonnull 2
        end local 2 // java.awt.Component c
         8: .line 905
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.awt.Component src
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    9     1   src  Ljava/awt/Component;
            1    8     2     c  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      src   

  void cancelPopupMenu();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
         0: .line 915
            invokestatic javax.swing.plaf.basic.BasicPopupMenuUI.getPopups:()Ljava/util/List;
            astore 1 /* popups */
        start local 1 // java.util.List popups
         1: .line 916
            aload 1 /* popups */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.swing.JPopupMenu
            astore 2 /* popup */
        start local 2 // javax.swing.JPopupMenu popup
         3: .line 917
            aload 2 /* popup */
            ldc "JPopupMenu.firePopupMenuCanceled"
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual javax.swing.JPopupMenu.putClientProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // javax.swing.JPopupMenu popup
         4: .line 916
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 919
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            invokevirtual javax.swing.MenuSelectionManager.clearSelectedPath:()V
        end local 1 // java.util.List popups
         6: .line 920
            goto 13
      StackMap locals: javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber
      StackMap stack: java.lang.RuntimeException
         7: astore 1 /* ex */
        start local 1 // java.lang.RuntimeException ex
         8: .line 921
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.realUngrabWindow:()V
         9: .line 922
            aload 1 /* ex */
            athrow
        end local 1 // java.lang.RuntimeException ex
        10: .line 923
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 1 /* err */
        start local 1 // java.lang.Error err
        11: .line 924
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.realUngrabWindow:()V
        12: .line 925
            aload 1 /* err */
            athrow
        end local 1 // java.lang.Error err
        13: .line 927
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            1    6     1  popups  Ljava/util/List<Ljavax/swing/JPopupMenu;>;
            3    4     2   popup  Ljavax/swing/JPopupMenu;
            8   10     1      ex  Ljava/lang/RuntimeException;
           11   13     1     err  Ljava/lang/Error;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.RuntimeException
           0     6      10  Class java.lang.Error

  public void componentResized(java.awt.event.ComponentEvent);
    descriptor: (Ljava/awt/event/ComponentEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.ComponentEvent e
         0: .line 930
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 931
            return
        end local 1 // java.awt.event.ComponentEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/ComponentEvent;
    MethodParameters:
      Name  Flags
      e     

  public void componentMoved(java.awt.event.ComponentEvent);
    descriptor: (Ljava/awt/event/ComponentEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.ComponentEvent e
         0: .line 933
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 934
            return
        end local 1 // java.awt.event.ComponentEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/ComponentEvent;
    MethodParameters:
      Name  Flags
      e     

  public void componentShown(java.awt.event.ComponentEvent);
    descriptor: (Ljava/awt/event/ComponentEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.ComponentEvent e
         0: .line 936
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 937
            return
        end local 1 // java.awt.event.ComponentEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/ComponentEvent;
    MethodParameters:
      Name  Flags
      e     

  public void componentHidden(java.awt.event.ComponentEvent);
    descriptor: (Ljava/awt/event/ComponentEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.ComponentEvent e
         0: .line 939
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 940
            return
        end local 1 // java.awt.event.ComponentEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/ComponentEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowClosing(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 942
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 943
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowClosed(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 945
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 946
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowIconified(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 948
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 949
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowDeactivated(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 951
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu:()V
         1: .line 952
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    2     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowOpened(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 953
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    1     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowDeiconified(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 954
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    1     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     

  public void windowActivated(java.awt.event.WindowEvent);
    descriptor: (Ljava/awt/event/WindowEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
        start local 1 // java.awt.event.WindowEvent e
         0: .line 955
            return
        end local 1 // java.awt.event.WindowEvent e
        end local 0 // javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber;
            0    1     1     e  Ljava/awt/event/WindowEvent;
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "BasicPopupMenuUI.java"
NestHost: javax.swing.plaf.basic.BasicPopupMenuUI
InnerClasses:
  MouseGrabber = javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber of javax.swing.plaf.basic.BasicPopupMenuUI
  javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$1
  javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber$2