public abstract class sun.awt.X11.XBaseMenuWindow extends sun.awt.X11.XWindow
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.X11.XBaseMenuWindow
  super_class: sun.awt.X11.XWindow
{
  private static sun.util.logging.PlatformLogger log;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.awt.Color backgroundColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Color foregroundColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Color lightShadowColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Color darkShadowColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Color selectedColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Color disabledColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList<sun.awt.X11.XMenuItemPeer> items;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/awt/X11/XMenuItemPeer;>;

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

  private sun.awt.X11.XMenuPeer showingSubmenu;
    descriptor: Lsun/awt/X11/XMenuPeer;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.Object menuTreeLock;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private sun.awt.X11.XMenuPeer showingMousePressedSubmenu;
    descriptor: Lsun/awt/X11/XMenuPeer;
    flags: (0x0002) ACC_PRIVATE

  protected java.awt.Point grabInputPoint;
    descriptor: Ljava/awt/Point;
    flags: (0x0004) ACC_PROTECTED

  protected boolean hasPointerMoved;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private sun.awt.X11.XBaseMenuWindow$MappingData mappingData;
    descriptor: Lsun/awt/X11/XBaseMenuWindow$MappingData;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 52
            ldc "sun.awt.X11.XBaseMenuWindow"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
         1: .line 92
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic sun.awt.X11.XBaseMenuWindow.menuTreeLock:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 175
            aload 0 /* this */
            new sun.awt.X11.XCreateWindowParams
            dup
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 176
            ldc "delayed"
            aastore
            dup
            iconst_1
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aastore
         2: .line 175
            invokespecial sun.awt.X11.XCreateWindowParams.<init>:([Ljava/lang/Object;)V
            invokespecial sun.awt.X11.XWindow.<init>:(Lsun/awt/X11/XCreateWindowParams;)V
         3: .line 73
            aload 0 /* this */
            iconst_m1
            putfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
         4: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
         5: .line 108
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.showingMousePressedSubmenu:Lsun/awt/X11/XMenuPeer;
         6: .line 116
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
         7: .line 117
            aload 0 /* this */
            iconst_0
            putfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
         8: .line 177
            return
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/awt/X11/XBaseMenuWindow;

  protected abstract sun.awt.X11.XBaseMenuWindow getParentMenuWindow();
    descriptor: ()Lsun/awt/X11/XBaseMenuWindow;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract sun.awt.X11.XBaseMenuWindow$MappingData map();
    descriptor: ()Lsun/awt/X11/XBaseMenuWindow$MappingData;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.awt.Rectangle getSubmenuBounds(java.awt.Rectangle, java.awt.Dimension);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      itemBounds  
      windowSize  

  protected abstract void updateSize();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  void instantPreInit(sun.awt.X11.XCreateWindowParams);
    descriptor: (Lsun/awt/X11/XCreateWindowParams;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // sun.awt.X11.XCreateWindowParams params
         0: .line 229
            aload 0 /* this */
            aload 1 /* params */
            invokespecial sun.awt.X11.XWindow.instantPreInit:(Lsun/awt/X11/XCreateWindowParams;)V
         1: .line 230
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
         2: .line 231
            return
        end local 1 // sun.awt.X11.XCreateWindowParams params
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/awt/X11/XBaseMenuWindow;
            0    3     1  params  Lsun/awt/X11/XCreateWindowParams;
    MethodParameters:
        Name  Flags
      params  

  static java.lang.Object getMenuTreeLock();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 243
            getstatic sun.awt.X11.XBaseMenuWindow.menuTreeLock:Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void resetMapping();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 251
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.mappingData:Lsun/awt/X11/XBaseMenuWindow$MappingData;
         1: .line 252
            return
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XBaseMenuWindow;

  void postPaintEvent();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=10, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 258
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.isShowing:()Z
            ifeq 5
         1: .line 259
            new java.awt.event.PaintEvent
            dup
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            sipush 800
         2: .line 260
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.width:I
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.height:I
            invokespecial java.awt.Rectangle.<init>:(IIII)V
         3: .line 259
            invokespecial java.awt.event.PaintEvent.<init>:(Ljava/awt/Component;ILjava/awt/Rectangle;)V
            astore 1 /* pe */
        start local 1 // java.awt.event.PaintEvent pe
         4: .line 261
            aload 0 /* this */
            aload 1 /* pe */
            invokevirtual sun.awt.X11.XBaseMenuWindow.postEvent:(Ljava/awt/AWTEvent;)V
        end local 1 // java.awt.event.PaintEvent pe
         5: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/X11/XBaseMenuWindow;
            4    5     1    pe  Ljava/awt/event/PaintEvent;

  sun.awt.X11.XMenuItemPeer getItem(int);
    descriptor: (I)Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // int index
         0: .line 276
            iload 1 /* index */
            iflt 9
         1: .line 277
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 278
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iload 1 /* index */
            if_icmple 5
         3: .line 279
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.awt.X11.XMenuItemPeer
            aload 2
            monitorexit
         4: areturn
         5: .line 277
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 283
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int index
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0   10     1  index  I
      Exception table:
        from    to  target  type
           2     4       7  any
           5     6       7  any
           7     8       7  any
    MethodParameters:
       Name  Flags
      index  

  sun.awt.X11.XMenuItemPeer[] copyItems();
    descriptor: ()[Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 290
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 291
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            iconst_0
            anewarray sun.awt.X11.XMenuItemPeer
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.awt.X11.XMenuItemPeer[]
            aload 1
            monitorexit
         2: areturn
         3: .line 290
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/XBaseMenuWindow;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  sun.awt.X11.XMenuItemPeer getSelectedItem();
    descriptor: ()Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 300
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 301
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            iflt 5
         2: .line 302
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            if_icmple 5
         3: .line 303
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.awt.X11.XMenuItemPeer
            aload 1
            monitorexit
         4: areturn
         5: .line 306
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         6: aconst_null
            areturn
         7: .line 300
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/awt/X11/XBaseMenuWindow;
      Exception table:
        from    to  target  type
           1     4       7  any
           5     6       7  any
           7     8       7  any

  sun.awt.X11.XMenuPeer getShowingSubmenu();
    descriptor: ()Lsun/awt/X11/XMenuPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 314
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 315
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
            aload 1
            monitorexit
         2: areturn
         3: .line 314
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/XBaseMenuWindow;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void addItem(java.awt.MenuItem);
    descriptor: (Ljava/awt/MenuItem;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.MenuItem item
         0: .line 326
            aload 1 /* item */
            invokevirtual java.awt.MenuItem.getPeer:()Ljava/awt/peer/MenuComponentPeer;
            checkcast sun.awt.X11.XMenuItemPeer
            astore 2 /* mp */
        start local 2 // sun.awt.X11.XMenuItemPeer mp
         1: .line 327
            aload 2 /* mp */
            ifnull 9
         2: .line 328
            aload 2 /* mp */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XMenuItemPeer.setContainer:(Lsun/awt/X11/XBaseMenuWindow;)V
         3: .line 329
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         4: .line 330
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            aload 2 /* mp */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 329
            aload 3
            monitorexit
         6: goto 11
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.MenuItem sun.awt.X11.XMenuItemPeer java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 333
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINE:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 11
        10: .line 334
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            ldc "WARNING: Attempt to add menu item without a peer"
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;)V
        11: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.updateSize:()V
        12: .line 338
            return
        end local 2 // sun.awt.X11.XMenuItemPeer mp
        end local 1 // java.awt.MenuItem item
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/awt/X11/XBaseMenuWindow;
            0   13     1  item  Ljava/awt/MenuItem;
            1   13     2    mp  Lsun/awt/X11/XMenuItemPeer;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      item  

  public void delItem(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // int index
         0: .line 345
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 346
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            iload 1 /* index */
            if_icmpne 4
         2: .line 347
            aload 0 /* this */
            aconst_null
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
         3: .line 348
            goto 6
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            iload 1 /* index */
            if_icmple 6
         5: .line 349
            aload 0 /* this */
            dup
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            iconst_1
            isub
            putfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
         6: .line 351
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 9
         7: .line 352
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            pop
         8: .line 353
            goto 11
         9: .line 354
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINE:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 11
        10: .line 355
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Attempt to remove non-existing menu item, index : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", item count : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;)V
        11: .line 345
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.updateSize:()V
        16: .line 360
            return
        end local 1 // int index
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0   17     1  index  I
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any
    MethodParameters:
       Name  Flags
      index  

  public void reloadItems(java.util.Vector);
    descriptor: (Ljava/util/Vector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.util.Vector items
         0: .line 367
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 368
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         2: .line 369
            aload 1 /* items */
            iconst_0
            anewarray java.awt.MenuItem
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.awt.MenuItem[]
            astore 3 /* itemArray */
        start local 3 // java.awt.MenuItem[] itemArray
         3: .line 370
            aload 3 /* itemArray */
            arraylength
            istore 4 /* itemCnt */
        start local 4 // int itemCnt
         4: .line 371
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 372
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.util.Vector java.lang.Object java.awt.MenuItem[] int int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* itemArray */
            iload 5 /* i */
            aaload
            invokevirtual sun.awt.X11.XBaseMenuWindow.addItem:(Ljava/awt/MenuItem;)V
         7: .line 371
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 4 /* itemCnt */
            if_icmplt 6
        end local 5 // int i
        end local 4 // int itemCnt
        end local 3 // java.awt.MenuItem[] itemArray
         9: .line 367
            aload 2
            monitorexit
        10: goto 13
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.util.Vector java.lang.Object
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Vector items
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/awt/X11/XBaseMenuWindow;
            0   14     1      items  Ljava/util/Vector;
            3    9     3  itemArray  [Ljava/awt/MenuItem;
            4    9     4    itemCnt  I
            5    9     5          i  I
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    MethodParameters:
       Name  Flags
      items  

  void selectItem(sun.awt.X11.XMenuItemPeer, boolean);
    descriptor: (Lsun/awt/X11/XMenuItemPeer;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // sun.awt.X11.XMenuItemPeer item
        start local 2 // boolean showWindowIfMenu
         0: .line 385
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 386
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingSubmenu:()Lsun/awt/X11/XMenuPeer;
            astore 4 /* showingSubmenu */
        start local 4 // sun.awt.X11.XMenuPeer showingSubmenu
         2: .line 387
            aload 1 /* item */
            ifnull 3
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.items:Ljava/util/ArrayList;
            aload 1 /* item */
            invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
            goto 4
      StackMap locals: java.lang.Object sun.awt.X11.XMenuPeer
      StackMap stack:
         3: iconst_m1
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* newSelectedIndex */
        start local 5 // int newSelectedIndex
         5: .line 388
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            iload 5 /* newSelectedIndex */
            if_icmpeq 10
         6: .line 389
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 8
         7: .line 390
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Selected index changed, was : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", new : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* newSelectedIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
         8: .line 392
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* newSelectedIndex */
            putfield sun.awt.X11.XBaseMenuWindow.selectedIndex:I
         9: .line 393
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.postPaintEvent:()V
        10: .line 395
      StackMap locals:
      StackMap stack:
            iload 2 /* showWindowIfMenu */
            ifeq 11
            aload 1 /* item */
            instanceof sun.awt.X11.XMenuPeer
            ifeq 11
            aload 1 /* item */
            checkcast sun.awt.X11.XMenuPeer
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: sun.awt.X11.XMenuPeer
        12: astore 6 /* submenuToShow */
        start local 6 // sun.awt.X11.XMenuPeer submenuToShow
        13: .line 396
            aload 6 /* submenuToShow */
            aload 4 /* showingSubmenu */
            if_acmpeq 15
        14: .line 397
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            new sun.awt.X11.XBaseMenuWindow$1
            dup
            aload 0 /* this */
            aload 6 /* submenuToShow */
            invokespecial sun.awt.X11.XBaseMenuWindow$1.<init>:(Lsun/awt/X11/XBaseMenuWindow;Lsun/awt/X11/XMenuPeer;)V
            invokestatic sun.awt.X11.XToolkit.executeOnEventHandlerThread:(Ljava/lang/Object;Ljava/lang/Runnable;)V
        end local 6 // sun.awt.X11.XMenuPeer submenuToShow
        end local 5 // int newSelectedIndex
        end local 4 // sun.awt.X11.XMenuPeer showingSubmenu
        15: .line 385
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 3
            monitorexit
        18: athrow
        19: .line 404
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean showWindowIfMenu
        end local 1 // sun.awt.X11.XMenuItemPeer item
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lsun/awt/X11/XBaseMenuWindow;
            0   20     1              item  Lsun/awt/X11/XMenuItemPeer;
            0   20     2  showWindowIfMenu  Z
            2   15     4    showingSubmenu  Lsun/awt/X11/XMenuPeer;
            5   15     5  newSelectedIndex  I
           13   15     6     submenuToShow  Lsun/awt/X11/XMenuPeer;
      Exception table:
        from    to  target  type
           1    16      17  any
          17    18      17  any
    MethodParameters:
                  Name  Flags
      item              
      showWindowIfMenu  

  private void doShowSubmenu(sun.awt.X11.XMenuPeer);
    descriptor: (Lsun/awt/X11/XMenuPeer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // sun.awt.X11.XMenuPeer submenuToShow
         0: .line 414
            aload 1 /* submenuToShow */
            ifnull 1
            aload 1 /* submenuToShow */
            invokevirtual sun.awt.X11.XMenuPeer.getMenuWindow:()Lsun/awt/X11/XMenuWindow;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: sun.awt.X11.XMenuWindow
         2: astore 2 /* menuWindowToShow */
        start local 2 // sun.awt.X11.XMenuWindow menuWindowToShow
         3: .line 415
            aconst_null
            astore 3 /* dim */
        start local 3 // java.awt.Dimension dim
         4: .line 416
            aconst_null
            astore 4 /* bounds */
        start local 4 // java.awt.Rectangle bounds
         5: .line 422
            aload 2 /* menuWindowToShow */
            ifnull 7
         6: .line 423
            aload 2 /* menuWindowToShow */
            invokevirtual sun.awt.X11.XMenuWindow.ensureCreated:()Z
            pop
         7: .line 425
      StackMap locals: sun.awt.X11.XMenuWindow java.awt.Dimension java.awt.Rectangle
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         8: .line 427
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         9: .line 428
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
            aload 1 /* submenuToShow */
            if_acmpeq 21
        10: .line 429
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 12
        11: .line 430
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            ldc "Changing showing submenu"
            invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
        12: .line 432
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
            ifnull 16
        13: .line 433
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
            invokevirtual sun.awt.X11.XMenuPeer.getMenuWindow:()Lsun/awt/X11/XMenuWindow;
            astore 6 /* showingSubmenuWindow */
        start local 6 // sun.awt.X11.XMenuWindow showingSubmenuWindow
        14: .line 434
            aload 6 /* showingSubmenuWindow */
            ifnull 16
        15: .line 435
            aload 6 /* showingSubmenuWindow */
            invokevirtual sun.awt.X11.XMenuWindow.hide:()V
        end local 6 // sun.awt.X11.XMenuWindow showingSubmenuWindow
        16: .line 438
      StackMap locals:
      StackMap stack:
            aload 1 /* submenuToShow */
            ifnull 20
        17: .line 439
            aload 2 /* menuWindowToShow */
            invokevirtual sun.awt.X11.XMenuWindow.getDesiredSize:()Ljava/awt/Dimension;
            astore 3 /* dim */
        18: .line 440
            aload 2 /* menuWindowToShow */
            invokevirtual sun.awt.X11.XMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            aload 1 /* submenuToShow */
            invokevirtual sun.awt.X11.XMenuPeer.getBounds:()Ljava/awt/Rectangle;
            aload 3 /* dim */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSubmenuBounds:(Ljava/awt/Rectangle;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
            astore 4 /* bounds */
        19: .line 441
            aload 2 /* menuWindowToShow */
            aload 4 /* bounds */
            invokevirtual sun.awt.X11.XMenuWindow.show:(Ljava/awt/Rectangle;)V
        20: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* submenuToShow */
            putfield sun.awt.X11.XBaseMenuWindow.showingSubmenu:Lsun/awt/X11/XMenuPeer;
        21: .line 427
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        22: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 5
            monitorexit
        24: athrow
        25: .line 446
      StackMap locals: sun.awt.X11.XBaseMenuWindow sun.awt.X11.XMenuPeer sun.awt.X11.XMenuWindow java.awt.Dimension java.awt.Rectangle
      StackMap stack: java.lang.Throwable
            astore 7
        26: .line 447
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        27: .line 448
            aload 7
            athrow
        28: .line 447
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        29: .line 449
            return
        end local 4 // java.awt.Rectangle bounds
        end local 3 // java.awt.Dimension dim
        end local 2 // sun.awt.X11.XMenuWindow menuWindowToShow
        end local 1 // sun.awt.X11.XMenuPeer submenuToShow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   30     0                  this  Lsun/awt/X11/XBaseMenuWindow;
            0   30     1         submenuToShow  Lsun/awt/X11/XMenuPeer;
            3   30     2      menuWindowToShow  Lsun/awt/X11/XMenuWindow;
            4   30     3                   dim  Ljava/awt/Dimension;
            5   30     4                bounds  Ljava/awt/Rectangle;
           14   16     6  showingSubmenuWindow  Lsun/awt/X11/XMenuWindow;
      Exception table:
        from    to  target  type
           9    22      23  any
          23    24      23  any
           8    25      25  any
    MethodParameters:
               Name  Flags
      submenuToShow  

  final void setItemsFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Font font
         0: .line 452
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.copyItems:()[Lsun/awt/X11/XMenuItemPeer;
            astore 2 /* items */
        start local 2 // sun.awt.X11.XMenuItemPeer[] items
         1: .line 453
            aload 2 /* items */
            arraylength
            istore 3 /* itemCnt */
        start local 3 // int itemCnt
         2: .line 454
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 455
      StackMap locals: sun.awt.X11.XMenuItemPeer[] int int
      StackMap stack:
            aload 2 /* items */
            iload 4 /* i */
            aaload
            aload 1 /* font */
            invokevirtual sun.awt.X11.XMenuItemPeer.setFont:(Ljava/awt/Font;)V
         5: .line 454
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* itemCnt */
            if_icmplt 4
        end local 4 // int i
         7: .line 457
            return
        end local 3 // int itemCnt
        end local 2 // sun.awt.X11.XMenuItemPeer[] items
        end local 1 // java.awt.Font font
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/awt/X11/XBaseMenuWindow;
            0    8     1     font  Ljava/awt/Font;
            1    8     2    items  [Lsun/awt/X11/XMenuItemPeer;
            2    8     3  itemCnt  I
            3    7     4        i  I
    MethodParameters:
      Name  Flags
      font  

  sun.awt.X11.XBaseMenuWindow$MappingData getMappingData();
    descriptor: ()Lsun/awt/X11/XBaseMenuWindow$MappingData;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 473
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.mappingData:Lsun/awt/X11/XBaseMenuWindow$MappingData;
            astore 1 /* mappingData */
        start local 1 // sun.awt.X11.XBaseMenuWindow$MappingData mappingData
         1: .line 474
            aload 1 /* mappingData */
            ifnonnull 4
         2: .line 475
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.map:()Lsun/awt/X11/XBaseMenuWindow$MappingData;
            astore 1 /* mappingData */
         3: .line 476
            aload 0 /* this */
            aload 1 /* mappingData */
            putfield sun.awt.X11.XBaseMenuWindow.mappingData:Lsun/awt/X11/XBaseMenuWindow$MappingData;
         4: .line 478
      StackMap locals: sun.awt.X11.XBaseMenuWindow$MappingData
      StackMap stack:
            aload 1 /* mappingData */
            invokevirtual sun.awt.X11.XBaseMenuWindow$MappingData.clone:()Ljava/lang/Object;
            checkcast sun.awt.X11.XBaseMenuWindow$MappingData
            areturn
        end local 1 // sun.awt.X11.XBaseMenuWindow$MappingData mappingData
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lsun/awt/X11/XBaseMenuWindow;
            1    5     1  mappingData  Lsun/awt/X11/XBaseMenuWindow$MappingData;

  sun.awt.X11.XMenuItemPeer getItemFromPoint(java.awt.Point);
    descriptor: (Ljava/awt/Point;)Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Point pt
         0: .line 487
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getMappingData:()Lsun/awt/X11/XBaseMenuWindow$MappingData;
            invokevirtual sun.awt.X11.XBaseMenuWindow$MappingData.getItems:()[Lsun/awt/X11/XMenuItemPeer;
            astore 2 /* items */
        start local 2 // sun.awt.X11.XMenuItemPeer[] items
         1: .line 488
            aload 2 /* items */
            arraylength
            istore 3 /* cnt */
        start local 3 // int cnt
         2: .line 489
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 490
      StackMap locals: sun.awt.X11.XMenuItemPeer[] int int
      StackMap stack:
            aload 2 /* items */
            iload 4 /* i */
            aaload
            invokevirtual sun.awt.X11.XMenuItemPeer.getBounds:()Ljava/awt/Rectangle;
            aload 1 /* pt */
            invokevirtual java.awt.Rectangle.contains:(Ljava/awt/Point;)Z
            ifeq 6
         5: .line 491
            aload 2 /* items */
            iload 4 /* i */
            aaload
            areturn
         6: .line 489
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* cnt */
            if_icmplt 4
        end local 4 // int i
         8: .line 494
            aconst_null
            areturn
        end local 3 // int cnt
        end local 2 // sun.awt.X11.XMenuItemPeer[] items
        end local 1 // java.awt.Point pt
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0    9     1     pt  Ljava/awt/Point;
            1    9     2  items  [Lsun/awt/X11/XMenuItemPeer;
            2    9     3    cnt  I
            3    8     4      i  I
    MethodParameters:
      Name  Flags
      pt    

  sun.awt.X11.XMenuItemPeer getNextSelectableItem();
    descriptor: ()Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 505
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getMappingData:()Lsun/awt/X11/XBaseMenuWindow$MappingData;
            invokevirtual sun.awt.X11.XBaseMenuWindow$MappingData.getItems:()[Lsun/awt/X11/XMenuItemPeer;
            astore 1 /* mappedItems */
        start local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
         1: .line 506
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            astore 2 /* selectedItem */
        start local 2 // sun.awt.X11.XMenuItemPeer selectedItem
         2: .line 507
            aload 1 /* mappedItems */
            arraylength
            istore 3 /* cnt */
        start local 3 // int cnt
         3: .line 509
            iconst_m1
            istore 4 /* selIdx */
        start local 4 // int selIdx
         4: .line 510
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 511
      StackMap locals: sun.awt.X11.XBaseMenuWindow sun.awt.X11.XMenuItemPeer[] sun.awt.X11.XMenuItemPeer int int int
      StackMap stack:
            aload 1 /* mappedItems */
            iload 5 /* i */
            aaload
            aload 2 /* selectedItem */
            if_acmpne 9
         7: .line 512
            iload 5 /* i */
            istore 4 /* selIdx */
         8: .line 513
            goto 11
         9: .line 510
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* cnt */
            if_icmplt 6
        end local 5 // int i
        11: .line 516
      StackMap locals:
      StackMap stack:
            iload 4 /* selIdx */
            iload 3 /* cnt */
            iconst_1
            isub
            if_icmpne 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 4 /* selIdx */
            iconst_1
            iadd
      StackMap locals:
      StackMap stack: int
        13: istore 5 /* idx */
        start local 5 // int idx
        14: .line 521
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 23
        16: .line 522
      StackMap locals: int int
      StackMap stack:
            aload 1 /* mappedItems */
            iload 5 /* idx */
            aaload
            astore 7 /* item */
        start local 7 // sun.awt.X11.XMenuItemPeer item
        17: .line 523
            aload 7 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 19
            aload 7 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 19
        18: .line 524
            aload 7 /* item */
            areturn
        19: .line 526
      StackMap locals: sun.awt.X11.XMenuItemPeer
      StackMap stack:
            iinc 5 /* idx */ 1
        20: .line 527
            iload 5 /* idx */
            iload 3 /* cnt */
            if_icmplt 22
        21: .line 528
            iconst_0
            istore 5 /* idx */
        end local 7 // sun.awt.X11.XMenuItemPeer item
        22: .line 521
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 3 /* cnt */
            if_icmplt 16
        end local 6 // int i
        24: .line 532
            aconst_null
            areturn
        end local 5 // int idx
        end local 4 // int selIdx
        end local 3 // int cnt
        end local 2 // sun.awt.X11.XMenuItemPeer selectedItem
        end local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lsun/awt/X11/XBaseMenuWindow;
            1   25     1   mappedItems  [Lsun/awt/X11/XMenuItemPeer;
            2   25     2  selectedItem  Lsun/awt/X11/XMenuItemPeer;
            3   25     3           cnt  I
            4   25     4        selIdx  I
            5   11     5             i  I
           14   25     5           idx  I
           15   24     6             i  I
           17   22     7          item  Lsun/awt/X11/XMenuItemPeer;

  sun.awt.X11.XMenuItemPeer getPrevSelectableItem();
    descriptor: ()Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 540
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getMappingData:()Lsun/awt/X11/XBaseMenuWindow$MappingData;
            invokevirtual sun.awt.X11.XBaseMenuWindow$MappingData.getItems:()[Lsun/awt/X11/XMenuItemPeer;
            astore 1 /* mappedItems */
        start local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
         1: .line 541
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            astore 2 /* selectedItem */
        start local 2 // sun.awt.X11.XMenuItemPeer selectedItem
         2: .line 542
            aload 1 /* mappedItems */
            arraylength
            istore 3 /* cnt */
        start local 3 // int cnt
         3: .line 544
            iconst_m1
            istore 4 /* selIdx */
        start local 4 // int selIdx
         4: .line 545
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 546
      StackMap locals: sun.awt.X11.XBaseMenuWindow sun.awt.X11.XMenuItemPeer[] sun.awt.X11.XMenuItemPeer int int int
      StackMap stack:
            aload 1 /* mappedItems */
            iload 5 /* i */
            aaload
            aload 2 /* selectedItem */
            if_acmpne 9
         7: .line 547
            iload 5 /* i */
            istore 4 /* selIdx */
         8: .line 548
            goto 11
         9: .line 545
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* cnt */
            if_icmplt 6
        end local 5 // int i
        11: .line 551
      StackMap locals:
      StackMap stack:
            iload 4 /* selIdx */
            ifgt 12
            iload 3 /* cnt */
            iconst_1
            isub
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 4 /* selIdx */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        13: istore 5 /* idx */
        start local 5 // int idx
        14: .line 553
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 23
        16: .line 554
      StackMap locals: int int
      StackMap stack:
            aload 1 /* mappedItems */
            iload 5 /* idx */
            aaload
            astore 7 /* item */
        start local 7 // sun.awt.X11.XMenuItemPeer item
        17: .line 555
            aload 7 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 19
            aload 7 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 19
        18: .line 556
            aload 7 /* item */
            areturn
        19: .line 558
      StackMap locals: sun.awt.X11.XMenuItemPeer
      StackMap stack:
            iinc 5 /* idx */ -1
        20: .line 559
            iload 5 /* idx */
            ifge 22
        21: .line 560
            iload 3 /* cnt */
            iconst_1
            isub
            istore 5 /* idx */
        end local 7 // sun.awt.X11.XMenuItemPeer item
        22: .line 553
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 3 /* cnt */
            if_icmplt 16
        end local 6 // int i
        24: .line 564
            aconst_null
            areturn
        end local 5 // int idx
        end local 4 // int selIdx
        end local 3 // int cnt
        end local 2 // sun.awt.X11.XMenuItemPeer selectedItem
        end local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lsun/awt/X11/XBaseMenuWindow;
            1   25     1   mappedItems  [Lsun/awt/X11/XMenuItemPeer;
            2   25     2  selectedItem  Lsun/awt/X11/XMenuItemPeer;
            3   25     3           cnt  I
            4   25     4        selIdx  I
            5   11     5             i  I
           14   25     5           idx  I
           15   24     6             i  I
           17   22     7          item  Lsun/awt/X11/XMenuItemPeer;

  sun.awt.X11.XMenuItemPeer getFirstSelectableItem();
    descriptor: ()Lsun/awt/X11/XMenuItemPeer;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 572
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getMappingData:()Lsun/awt/X11/XBaseMenuWindow$MappingData;
            invokevirtual sun.awt.X11.XBaseMenuWindow$MappingData.getItems:()[Lsun/awt/X11/XMenuItemPeer;
            astore 1 /* mappedItems */
        start local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
         1: .line 573
            aload 1 /* mappedItems */
            arraylength
            istore 2 /* cnt */
        start local 2 // int cnt
         2: .line 574
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 575
      StackMap locals: sun.awt.X11.XMenuItemPeer[] int int
      StackMap stack:
            aload 1 /* mappedItems */
            iload 3 /* i */
            aaload
            astore 4 /* item */
        start local 4 // sun.awt.X11.XMenuItemPeer item
         5: .line 576
            aload 4 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 7
            aload 4 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 7
         6: .line 577
            aload 4 /* item */
            areturn
        end local 4 // sun.awt.X11.XMenuItemPeer item
         7: .line 574
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* cnt */
            if_icmplt 4
        end local 3 // int i
         9: .line 581
            aconst_null
            areturn
        end local 2 // int cnt
        end local 1 // sun.awt.X11.XMenuItemPeer[] mappedItems
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/awt/X11/XBaseMenuWindow;
            1   10     1  mappedItems  [Lsun/awt/X11/XMenuItemPeer;
            2   10     2          cnt  I
            3    9     3            i  I
            5    7     4         item  Lsun/awt/X11/XMenuItemPeer;

  sun.awt.X11.XBaseMenuWindow getShowingLeaf();
    descriptor: ()Lsun/awt/X11/XBaseMenuWindow;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 596
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 597
            aload 0 /* this */
            astore 2 /* leaf */
        start local 2 // sun.awt.X11.XBaseMenuWindow leaf
         2: .line 598
            aload 2 /* leaf */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingSubmenu:()Lsun/awt/X11/XMenuPeer;
            astore 3 /* leafchild */
        start local 3 // sun.awt.X11.XMenuPeer leafchild
         3: .line 599
            goto 6
         4: .line 600
      StackMap locals: java.lang.Object sun.awt.X11.XBaseMenuWindow sun.awt.X11.XMenuPeer
      StackMap stack:
            aload 3 /* leafchild */
            invokevirtual sun.awt.X11.XMenuPeer.getMenuWindow:()Lsun/awt/X11/XMenuWindow;
            astore 2 /* leaf */
         5: .line 601
            aload 2 /* leaf */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingSubmenu:()Lsun/awt/X11/XMenuPeer;
            astore 3 /* leafchild */
         6: .line 599
      StackMap locals:
      StackMap stack:
            aload 3 /* leafchild */
            ifnonnull 4
         7: .line 603
            aload 2 /* leaf */
            aload 1
            monitorexit
         8: areturn
        end local 3 // sun.awt.X11.XMenuPeer leafchild
        end local 2 // sun.awt.X11.XBaseMenuWindow leaf
         9: .line 596
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/awt/X11/XBaseMenuWindow;
            2    9     2       leaf  Lsun/awt/X11/XBaseMenuWindow;
            3    9     3  leafchild  Lsun/awt/X11/XMenuPeer;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any

  sun.awt.X11.XBaseMenuWindow getRootMenuWindow();
    descriptor: ()Lsun/awt/X11/XBaseMenuWindow;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 612
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 613
            aload 0 /* this */
            astore 2 /* t */
        start local 2 // sun.awt.X11.XBaseMenuWindow t
         2: .line 614
            aload 2 /* t */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            astore 3 /* tparent */
        start local 3 // sun.awt.X11.XBaseMenuWindow tparent
         3: .line 615
            goto 6
         4: .line 616
      StackMap locals: java.lang.Object sun.awt.X11.XBaseMenuWindow sun.awt.X11.XBaseMenuWindow
      StackMap stack:
            aload 3 /* tparent */
            astore 2 /* t */
         5: .line 617
            aload 2 /* t */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            astore 3 /* tparent */
         6: .line 615
      StackMap locals:
      StackMap stack:
            aload 3 /* tparent */
            ifnonnull 4
         7: .line 619
            aload 2 /* t */
            aload 1
            monitorexit
         8: areturn
        end local 3 // sun.awt.X11.XBaseMenuWindow tparent
        end local 2 // sun.awt.X11.XBaseMenuWindow t
         9: .line 612
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lsun/awt/X11/XBaseMenuWindow;
            2    9     2        t  Lsun/awt/X11/XBaseMenuWindow;
            3    9     3  tparent  Lsun/awt/X11/XBaseMenuWindow;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any

  sun.awt.X11.XBaseMenuWindow getMenuWindowFromPoint(java.awt.Point);
    descriptor: (Ljava/awt/Point;)Lsun/awt/X11/XBaseMenuWindow;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Point pt
         0: .line 630
            invokestatic sun.awt.X11.XBaseMenuWindow.getMenuTreeLock:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 631
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingLeaf:()Lsun/awt/X11/XBaseMenuWindow;
            astore 3 /* t */
        start local 3 // sun.awt.X11.XBaseMenuWindow t
         2: .line 632
            goto 8
         3: .line 633
      StackMap locals: java.lang.Object sun.awt.X11.XBaseMenuWindow
      StackMap stack:
            new java.awt.Rectangle
            dup
            aload 3 /* t */
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            invokevirtual sun.awt.X11.XBaseMenuWindow.toGlobal:(Ljava/awt/Point;)Ljava/awt/Point;
            aload 3 /* t */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSize:()Ljava/awt/Dimension;
            invokespecial java.awt.Rectangle.<init>:(Ljava/awt/Point;Ljava/awt/Dimension;)V
            astore 4 /* r */
        start local 4 // java.awt.Rectangle r
         4: .line 634
            aload 4 /* r */
            aload 1 /* pt */
            invokevirtual java.awt.Rectangle.contains:(Ljava/awt/Point;)Z
            ifeq 7
         5: .line 635
            aload 3 /* t */
            aload 2
            monitorexit
         6: areturn
         7: .line 637
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 3 /* t */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            astore 3 /* t */
        end local 4 // java.awt.Rectangle r
         8: .line 632
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            ifnonnull 3
         9: .line 639
            aload 2
            monitorexit
        10: aconst_null
            areturn
        end local 3 // sun.awt.X11.XBaseMenuWindow t
        11: .line 630
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Point java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        12: athrow
        end local 1 // java.awt.Point pt
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/awt/X11/XBaseMenuWindow;
            0   13     1    pt  Ljava/awt/Point;
            2   11     3     t  Lsun/awt/X11/XBaseMenuWindow;
            4    8     4     r  Ljava/awt/Rectangle;
      Exception table:
        from    to  target  type
           1     6      11  any
           7    10      11  any
          11    12      11  any
    MethodParameters:
      Name  Flags
      pt    

  java.awt.Rectangle fitWindowBelow(java.awt.Rectangle, java.awt.Dimension, java.awt.Dimension);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Rectangle itemBounds
        start local 2 // java.awt.Dimension windowSize
        start local 3 // java.awt.Dimension screenSize
         0: .line 663
            aload 2 /* windowSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        start local 4 // int width
         1: .line 664
            aload 2 /* windowSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        start local 5 // int height
         2: .line 668
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            ifle 3
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* x */
        start local 6 // int x
         5: .line 669
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            ifle 6
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* y */
        start local 7 // int y
         8: .line 670
            iload 7 /* y */
            iload 5 /* height */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmpgt 14
         9: .line 672
            iload 4 /* width */
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmple 11
        10: .line 673
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        11: .line 675
      StackMap locals: int
      StackMap stack:
            iload 6 /* x */
            iload 4 /* width */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmple 13
        12: .line 676
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            iload 4 /* width */
            isub
            istore 6 /* x */
        13: .line 678
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 6 /* x */
            iload 7 /* y */
            iload 4 /* width */
            iload 5 /* height */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        14: .line 680
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // int y
        end local 6 // int x
        end local 5 // int height
        end local 4 // int width
        end local 3 // java.awt.Dimension screenSize
        end local 2 // java.awt.Dimension windowSize
        end local 1 // java.awt.Rectangle itemBounds
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0   15     1  itemBounds  Ljava/awt/Rectangle;
            0   15     2  windowSize  Ljava/awt/Dimension;
            0   15     3  screenSize  Ljava/awt/Dimension;
            1   15     4       width  I
            2   15     5      height  I
            5   15     6           x  I
            8   15     7           y  I
    MethodParameters:
            Name  Flags
      itemBounds  
      windowSize  
      screenSize  

  java.awt.Rectangle fitWindowAbove(java.awt.Rectangle, java.awt.Dimension, java.awt.Dimension);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Rectangle itemBounds
        start local 2 // java.awt.Dimension windowSize
        start local 3 // java.awt.Dimension screenSize
         0: .line 692
            aload 2 /* windowSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        start local 4 // int width
         1: .line 693
            aload 2 /* windowSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        start local 5 // int height
         2: .line 697
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            ifle 3
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* x */
        start local 6 // int x
         5: .line 698
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 6
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            iload 5 /* height */
            isub
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            iload 5 /* height */
            isub
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* y */
        start local 7 // int y
         8: .line 699
            iload 7 /* y */
            iflt 14
         9: .line 701
            iload 4 /* width */
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmple 11
        10: .line 702
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        11: .line 704
      StackMap locals: int
      StackMap stack:
            iload 6 /* x */
            iload 4 /* width */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmple 13
        12: .line 705
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            iload 4 /* width */
            isub
            istore 6 /* x */
        13: .line 707
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 6 /* x */
            iload 7 /* y */
            iload 4 /* width */
            iload 5 /* height */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        14: .line 709
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // int y
        end local 6 // int x
        end local 5 // int height
        end local 4 // int width
        end local 3 // java.awt.Dimension screenSize
        end local 2 // java.awt.Dimension windowSize
        end local 1 // java.awt.Rectangle itemBounds
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0   15     1  itemBounds  Ljava/awt/Rectangle;
            0   15     2  windowSize  Ljava/awt/Dimension;
            0   15     3  screenSize  Ljava/awt/Dimension;
            1   15     4       width  I
            2   15     5      height  I
            5   15     6           x  I
            8   15     7           y  I
    MethodParameters:
            Name  Flags
      itemBounds  
      windowSize  
      screenSize  

  java.awt.Rectangle fitWindowRight(java.awt.Rectangle, java.awt.Dimension, java.awt.Dimension);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Rectangle itemBounds
        start local 2 // java.awt.Dimension windowSize
        start local 3 // java.awt.Dimension screenSize
         0: .line 721
            aload 2 /* windowSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        start local 4 // int width
         1: .line 722
            aload 2 /* windowSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        start local 5 // int height
         2: .line 726
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            ifle 3
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* x */
        start local 6 // int x
         5: .line 727
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            ifle 6
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* y */
        start local 7 // int y
         8: .line 728
            iload 6 /* x */
            iload 4 /* width */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmpgt 14
         9: .line 730
            iload 5 /* height */
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 11
        10: .line 731
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        11: .line 733
      StackMap locals: int
      StackMap stack:
            iload 7 /* y */
            iload 5 /* height */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 13
        12: .line 734
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            iload 5 /* height */
            isub
            istore 7 /* y */
        13: .line 736
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 6 /* x */
            iload 7 /* y */
            iload 4 /* width */
            iload 5 /* height */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        14: .line 738
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // int y
        end local 6 // int x
        end local 5 // int height
        end local 4 // int width
        end local 3 // java.awt.Dimension screenSize
        end local 2 // java.awt.Dimension windowSize
        end local 1 // java.awt.Rectangle itemBounds
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0   15     1  itemBounds  Ljava/awt/Rectangle;
            0   15     2  windowSize  Ljava/awt/Dimension;
            0   15     3  screenSize  Ljava/awt/Dimension;
            1   15     4       width  I
            2   15     5      height  I
            5   15     6           x  I
            8   15     7           y  I
    MethodParameters:
            Name  Flags
      itemBounds  
      windowSize  
      screenSize  

  java.awt.Rectangle fitWindowLeft(java.awt.Rectangle, java.awt.Dimension, java.awt.Dimension);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Rectangle itemBounds
        start local 2 // java.awt.Dimension windowSize
        start local 3 // java.awt.Dimension screenSize
         0: .line 750
            aload 2 /* windowSize */
            getfield java.awt.Dimension.width:I
            istore 4 /* width */
        start local 4 // int width
         1: .line 751
            aload 2 /* windowSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        start local 5 // int height
         2: .line 755
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmpge 3
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.x:I
            iload 4 /* width */
            isub
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: aload 3 /* screenSize */
            getfield java.awt.Dimension.width:I
            iload 4 /* width */
            isub
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* x */
        start local 6 // int x
         5: .line 756
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            ifle 6
            aload 1 /* itemBounds */
            getfield java.awt.Rectangle.y:I
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* y */
        start local 7 // int y
         8: .line 757
            iload 6 /* x */
            iflt 14
         9: .line 759
            iload 5 /* height */
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 11
        10: .line 760
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            istore 5 /* height */
        11: .line 762
      StackMap locals: int
      StackMap stack:
            iload 7 /* y */
            iload 5 /* height */
            iadd
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmple 13
        12: .line 763
            aload 3 /* screenSize */
            getfield java.awt.Dimension.height:I
            iload 5 /* height */
            isub
            istore 7 /* y */
        13: .line 765
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 6 /* x */
            iload 7 /* y */
            iload 4 /* width */
            iload 5 /* height */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        14: .line 767
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // int y
        end local 6 // int x
        end local 5 // int height
        end local 4 // int width
        end local 3 // java.awt.Dimension screenSize
        end local 2 // java.awt.Dimension windowSize
        end local 1 // java.awt.Rectangle itemBounds
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0   15     1  itemBounds  Ljava/awt/Rectangle;
            0   15     2  windowSize  Ljava/awt/Dimension;
            0   15     3  screenSize  Ljava/awt/Dimension;
            1   15     4       width  I
            2   15     5      height  I
            5   15     6           x  I
            8   15     7           y  I
    MethodParameters:
            Name  Flags
      itemBounds  
      windowSize  
      screenSize  

  java.awt.Rectangle fitWindowToScreen(java.awt.Dimension, java.awt.Dimension);
    descriptor: (Ljava/awt/Dimension;Ljava/awt/Dimension;)Ljava/awt/Rectangle;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Dimension windowSize
        start local 2 // java.awt.Dimension screenSize
         0: .line 779
            aload 1 /* windowSize */
            getfield java.awt.Dimension.width:I
            aload 2 /* screenSize */
            getfield java.awt.Dimension.width:I
            if_icmpge 1
            aload 1 /* windowSize */
            getfield java.awt.Dimension.width:I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* screenSize */
            getfield java.awt.Dimension.width:I
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* width */
        start local 3 // int width
         3: .line 780
            aload 1 /* windowSize */
            getfield java.awt.Dimension.height:I
            aload 2 /* screenSize */
            getfield java.awt.Dimension.height:I
            if_icmpge 4
            aload 1 /* windowSize */
            getfield java.awt.Dimension.height:I
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 2 /* screenSize */
            getfield java.awt.Dimension.height:I
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* height */
        start local 4 // int height
         6: .line 781
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iload 3 /* width */
            iload 4 /* height */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        end local 4 // int height
        end local 3 // int width
        end local 2 // java.awt.Dimension screenSize
        end local 1 // java.awt.Dimension windowSize
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0    7     1  windowSize  Ljava/awt/Dimension;
            0    7     2  screenSize  Ljava/awt/Dimension;
            3    7     3       width  I
            6    7     4      height  I
    MethodParameters:
            Name  Flags
      windowSize  
      screenSize  

  void resetColors();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 799
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            ifnonnull 1
            getstatic java.awt.SystemColor.window:Ljava/awt/SystemColor;
            goto 2
      StackMap locals:
      StackMap stack: sun.awt.X11.XBaseMenuWindow
         1: aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            invokevirtual java.awt.Component.getBackground:()Ljava/awt/Color;
      StackMap locals: sun.awt.X11.XBaseMenuWindow
      StackMap stack: sun.awt.X11.XBaseMenuWindow java.awt.Color
         2: invokevirtual sun.awt.X11.XBaseMenuWindow.replaceColors:(Ljava/awt/Color;)V
         3: .line 800
            return
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XBaseMenuWindow;

  void replaceColors(java.awt.Color);
    descriptor: (Ljava/awt/Color;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Color backgroundColor
         0: .line 809
            aload 1 /* backgroundColor */
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.backgroundColor:Ljava/awt/Color;
            if_acmpeq 12
         1: .line 810
            aload 0 /* this */
            aload 1 /* backgroundColor */
            putfield sun.awt.X11.XBaseMenuWindow.backgroundColor:Ljava/awt/Color;
         2: .line 812
            aload 1 /* backgroundColor */
            invokevirtual java.awt.Color.getRed:()I
            istore 2 /* red */
        start local 2 // int red
         3: .line 813
            aload 1 /* backgroundColor */
            invokevirtual java.awt.Color.getGreen:()I
            istore 3 /* green */
        start local 3 // int green
         4: .line 814
            aload 1 /* backgroundColor */
            invokevirtual java.awt.Color.getBlue:()I
            istore 4 /* blue */
        start local 4 // int blue
         5: .line 816
            aload 0 /* this */
            new java.awt.Color
            dup
            iload 2 /* red */
            iload 3 /* green */
            iload 4 /* blue */
            invokestatic sun.awt.X11.MotifColorUtilities.calculateForegroundFromBackground:(III)I
            invokespecial java.awt.Color.<init>:(I)V
            putfield sun.awt.X11.XBaseMenuWindow.foregroundColor:Ljava/awt/Color;
         6: .line 817
            aload 0 /* this */
            new java.awt.Color
            dup
            iload 2 /* red */
            iload 3 /* green */
            iload 4 /* blue */
            invokestatic sun.awt.X11.MotifColorUtilities.calculateTopShadowFromBackground:(III)I
            invokespecial java.awt.Color.<init>:(I)V
            putfield sun.awt.X11.XBaseMenuWindow.lightShadowColor:Ljava/awt/Color;
         7: .line 818
            aload 0 /* this */
            new java.awt.Color
            dup
            iload 2 /* red */
            iload 3 /* green */
            iload 4 /* blue */
            invokestatic sun.awt.X11.MotifColorUtilities.calculateBottomShadowFromBackground:(III)I
            invokespecial java.awt.Color.<init>:(I)V
            putfield sun.awt.X11.XBaseMenuWindow.darkShadowColor:Ljava/awt/Color;
         8: .line 819
            aload 0 /* this */
            new java.awt.Color
            dup
            iload 2 /* red */
            iload 3 /* green */
            iload 4 /* blue */
            invokestatic sun.awt.X11.MotifColorUtilities.calculateSelectFromBackground:(III)I
            invokespecial java.awt.Color.<init>:(I)V
            putfield sun.awt.X11.XBaseMenuWindow.selectedColor:Ljava/awt/Color;
         9: .line 820
            aload 0 /* this */
            aload 1 /* backgroundColor */
            getstatic java.awt.Color.BLACK:Ljava/awt/Color;
            invokevirtual java.awt.Color.equals:(Ljava/lang/Object;)Z
            ifeq 10
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.foregroundColor:Ljava/awt/Color;
            invokevirtual java.awt.Color.darker:()Ljava/awt/Color;
            goto 11
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Color int int int
      StackMap stack: sun.awt.X11.XBaseMenuWindow
        10: aload 1 /* backgroundColor */
            invokevirtual java.awt.Color.darker:()Ljava/awt/Color;
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Color int int int
      StackMap stack: sun.awt.X11.XBaseMenuWindow java.awt.Color
        11: putfield sun.awt.X11.XBaseMenuWindow.disabledColor:Ljava/awt/Color;
        end local 4 // int blue
        end local 3 // int green
        end local 2 // int red
        12: .line 822
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Color backgroundColor
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lsun/awt/X11/XBaseMenuWindow;
            0   13     1  backgroundColor  Ljava/awt/Color;
            3   12     2              red  I
            4   12     3            green  I
            5   12     4             blue  I
    MethodParameters:
                 Name  Flags
      backgroundColor  

  java.awt.Color getBackgroundColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 825
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.backgroundColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  java.awt.Color getForegroundColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 829
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.foregroundColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  java.awt.Color getLightShadowColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 833
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.lightShadowColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  java.awt.Color getDarkShadowColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 837
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.darkShadowColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  java.awt.Color getSelectedColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 841
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.selectedColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  java.awt.Color getDisabledColor();
    descriptor: ()Ljava/awt/Color;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 845
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.disabledColor:Ljava/awt/Color;
            areturn
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XBaseMenuWindow;

  void draw3DRect(java.awt.Graphics, int, int, int, int, boolean);
    descriptor: (Ljava/awt/Graphics;IIIIZ)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.Graphics g
        start local 2 // int x
        start local 3 // int y
        start local 4 // int width
        start local 5 // int height
        start local 6 // boolean raised
         0: .line 864
            iload 4 /* width */
            ifle 1
            iload 5 /* height */
            ifgt 2
         1: .line 865
      StackMap locals:
      StackMap stack:
            return
         2: .line 867
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 7 /* c */
        start local 7 // java.awt.Color c
         3: .line 868
            aload 1 /* g */
            iload 6 /* raised */
            ifeq 4
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getLightShadowColor:()Ljava/awt/Color;
            goto 5
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Graphics int int int int int java.awt.Color
      StackMap stack: java.awt.Graphics
         4: aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getDarkShadowColor:()Ljava/awt/Color;
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Graphics int int int int int java.awt.Color
      StackMap stack: java.awt.Graphics java.awt.Color
         5: invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         6: .line 869
            aload 1 /* g */
            iload 2 /* x */
            iload 3 /* y */
            iload 2 /* x */
            iload 3 /* y */
            iload 5 /* height */
            iadd
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         7: .line 870
            aload 1 /* g */
            iload 2 /* x */
            iconst_1
            iadd
            iload 3 /* y */
            iload 2 /* x */
            iload 4 /* width */
            iadd
            iconst_1
            isub
            iload 3 /* y */
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 871
            aload 1 /* g */
            iload 6 /* raised */
            ifeq 9
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getDarkShadowColor:()Ljava/awt/Color;
            goto 10
      StackMap locals:
      StackMap stack: java.awt.Graphics
         9: aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getLightShadowColor:()Ljava/awt/Color;
      StackMap locals: sun.awt.X11.XBaseMenuWindow java.awt.Graphics int int int int int java.awt.Color
      StackMap stack: java.awt.Graphics java.awt.Color
        10: invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        11: .line 872
            aload 1 /* g */
            iload 2 /* x */
            iconst_1
            iadd
            iload 3 /* y */
            iload 5 /* height */
            iadd
            iconst_1
            isub
            iload 2 /* x */
            iload 4 /* width */
            iadd
            iconst_1
            isub
            iload 3 /* y */
            iload 5 /* height */
            iadd
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        12: .line 873
            aload 1 /* g */
            iload 2 /* x */
            iload 4 /* width */
            iadd
            iconst_1
            isub
            iload 3 /* y */
            iconst_1
            iadd
            iload 2 /* x */
            iload 4 /* width */
            iadd
            iconst_1
            isub
            iload 3 /* y */
            iload 5 /* height */
            iadd
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        13: .line 874
            aload 1 /* g */
            aload 7 /* c */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        14: .line 875
            return
        end local 7 // java.awt.Color c
        end local 6 // boolean raised
        end local 5 // int height
        end local 4 // int width
        end local 3 // int y
        end local 2 // int x
        end local 1 // java.awt.Graphics g
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/awt/X11/XBaseMenuWindow;
            0   15     1       g  Ljava/awt/Graphics;
            0   15     2       x  I
            0   15     3       y  I
            0   15     4   width  I
            0   15     5  height  I
            0   15     6  raised  Z
            3   15     7       c  Ljava/awt/Color;
    MethodParameters:
        Name  Flags
      g       
      x       
      y       
      width   
      height  
      raised  

  protected boolean isEventDisabled(sun.awt.X11.XEvent);
    descriptor: (Lsun/awt/X11/XEvent;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // sun.awt.X11.XEvent e
         0: .line 887
            aload 1 /* e */
            invokevirtual sun.awt.X11.XEvent.get_type:()I
            tableswitch { // 2 - 17
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 1
                    7: 2
                    8: 2
                    9: 2
                   10: 2
                   11: 2
                   12: 1
                   13: 1
                   14: 2
                   15: 2
                   16: 2
                   17: 1
              default: 2
          }
         1: .line 896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            invokespecial sun.awt.X11.XWindow.isEventDisabled:(Lsun/awt/X11/XEvent;)Z
            ireturn
         2: .line 898
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // sun.awt.X11.XEvent e
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/XBaseMenuWindow;
            0    3     1     e  Lsun/awt/X11/XEvent;
    MethodParameters:
      Name  Flags
      e     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 906
            aload 0 /* this */
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.setDisposed:(Z)V
         1: .line 907
            new java.awt.event.InvocationEvent
            dup
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            new sun.awt.X11.XBaseMenuWindow$2
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.XBaseMenuWindow$2.<init>:(Lsun/awt/X11/XBaseMenuWindow;)V
            invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
            astore 1 /* ev */
        start local 1 // java.awt.event.InvocationEvent ev
         2: .line 912
            aload 0 /* this */
            aload 1 /* ev */
            invokespecial sun.awt.X11.XWindow.postEvent:(Ljava/awt/AWTEvent;)V
         3: .line 913
            return
        end local 1 // java.awt.event.InvocationEvent ev
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XBaseMenuWindow;
            2    4     1    ev  Ljava/awt/event/InvocationEvent;

  protected void doDispose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 920
            aload 0 /* this */
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.xSetVisible:(Z)V
         1: .line 921
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.surfaceData:Lsun/java2d/SurfaceData;
            astore 1 /* oldData */
        start local 1 // sun.java2d.SurfaceData oldData
         2: .line 922
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.surfaceData:Lsun/java2d/SurfaceData;
         3: .line 923
            aload 1 /* oldData */
            ifnull 5
         4: .line 924
            aload 1 /* oldData */
            invokevirtual sun.java2d.SurfaceData.invalidate:()V
         5: .line 926
      StackMap locals: sun.java2d.SurfaceData
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.target:Ljava/awt/Component;
            aload 0 /* this */
            invokestatic sun.awt.X11.XToolkit.targetDisposedPeer:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 927
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.destroy:()V
         7: .line 928
            return
        end local 1 // sun.java2d.SurfaceData oldData
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/awt/X11/XBaseMenuWindow;
            2    8     1  oldData  Lsun/java2d/SurfaceData;

  void postEvent(java.awt.AWTEvent);
    descriptor: (Ljava/awt/AWTEvent;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.AWTEvent event
         0: .line 937
            new java.awt.event.InvocationEvent
            dup
            aload 1 /* event */
            invokevirtual java.awt.AWTEvent.getSource:()Ljava/lang/Object;
            new sun.awt.X11.XBaseMenuWindow$3
            dup
            aload 0 /* this */
            aload 1 /* event */
            invokespecial sun.awt.X11.XBaseMenuWindow$3.<init>:(Lsun/awt/X11/XBaseMenuWindow;Ljava/awt/AWTEvent;)V
            invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
            astore 2 /* ev */
        start local 2 // java.awt.event.InvocationEvent ev
         1: .line 942
            aload 0 /* this */
            aload 2 /* ev */
            invokespecial sun.awt.X11.XWindow.postEvent:(Ljava/awt/AWTEvent;)V
         2: .line 943
            return
        end local 2 // java.awt.event.InvocationEvent ev
        end local 1 // java.awt.AWTEvent event
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0    3     1  event  Ljava/awt/AWTEvent;
            1    3     2     ev  Ljava/awt/event/InvocationEvent;
    MethodParameters:
       Name  Flags
      event  final

  protected void handleEvent(java.awt.AWTEvent);
    descriptor: (Ljava/awt/AWTEvent;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.AWTEvent event
         0: .line 951
            aload 1 /* event */
            invokevirtual java.awt.AWTEvent.getID:()I
            tableswitch { // 800 - 800
                  800: 1
              default: 2
          }
         1: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* event */
            checkcast java.awt.event.PaintEvent
            invokevirtual sun.awt.X11.XBaseMenuWindow.doHandleJavaPaintEvent:(Ljava/awt/event/PaintEvent;)V
         2: .line 956
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.AWTEvent event
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0    3     1  event  Ljava/awt/AWTEvent;
    MethodParameters:
       Name  Flags
      event  

  public boolean grabInput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=7, args_size=1
        start local 0 // sun.awt.X11.XBaseMenuWindow this
         0: .line 966
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 968
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
         2: .line 969
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getScreenNumber:()J
         3: .line 968
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
            lstore 4 /* root */
        start local 4 // long root
         4: .line 970
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            lload 4 /* root */
         5: .line 971
            getstatic sun.awt.X11.XlibWrapper.larg1:J
         6: .line 972
            getstatic sun.awt.X11.XlibWrapper.larg2:J
         7: .line 973
            getstatic sun.awt.X11.XlibWrapper.larg3:J
         8: .line 974
            getstatic sun.awt.X11.XlibWrapper.larg4:J
         9: .line 975
            getstatic sun.awt.X11.XlibWrapper.larg5:J
        10: .line 976
            getstatic sun.awt.X11.XlibWrapper.larg6:J
        11: .line 977
            getstatic sun.awt.X11.XlibWrapper.larg7:J
        12: .line 970
            invokestatic sun.awt.X11.XlibWrapper.XQueryPointer:(JJJJJJJJJ)Z
            istore 3 /* res */
        start local 3 // boolean res
        13: .line 978
            getstatic sun.awt.X11.XlibWrapper.larg3:J
            invokestatic sun.awt.X11.Native.getInt:(J)I
            istore 1 /* rootX */
        start local 1 // int rootX
        14: .line 979
            getstatic sun.awt.X11.XlibWrapper.larg4:J
            invokestatic sun.awt.X11.Native.getInt:(J)I
            istore 2 /* rootY */
        start local 2 // int rootY
        15: .line 980
            iload 3 /* res */
            aload 0 /* this */
            invokespecial sun.awt.X11.XWindow.grabInput:()Z
            iand
            istore 3 /* res */
        end local 4 // long root
        16: .line 981
            goto 20
        end local 3 // boolean res
        end local 2 // int rootY
        end local 1 // int rootX
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 6
        18: .line 982
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        19: .line 983
            aload 6
            athrow
        start local 1 // int rootX
        start local 2 // int rootY
        start local 3 // boolean res
        20: .line 982
      StackMap locals: int int int
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        21: .line 984
            iload 3 /* res */
            ifeq 25
        22: .line 986
            aload 0 /* this */
            new java.awt.Point
            dup
            iload 1 /* rootX */
            iload 2 /* rootY */
            invokespecial java.awt.Point.<init>:(II)V
            putfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
        23: .line 987
            aload 0 /* this */
            iconst_0
            putfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
        24: .line 988
            goto 27
        25: .line 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
        26: .line 990
            aload 0 /* this */
            iconst_1
            putfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
        27: .line 992
      StackMap locals:
      StackMap stack:
            iload 3 /* res */
            ireturn
        end local 3 // boolean res
        end local 2 // int rootY
        end local 1 // int rootX
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lsun/awt/X11/XBaseMenuWindow;
           14   17     1  rootX  I
           20   28     1  rootX  I
           15   17     2  rootY  I
           20   28     2  rootY  I
           13   17     3    res  Z
           20   28     3    res  Z
            4   16     4   root  J
      Exception table:
        from    to  target  type
           1    17      17  any

  void doHandleJavaPaintEvent(java.awt.event.PaintEvent);
    descriptor: (Ljava/awt/event/PaintEvent;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.event.PaintEvent event
         0: .line 1004
            aload 1 /* event */
            invokevirtual java.awt.event.PaintEvent.getUpdateRect:()Ljava/awt/Rectangle;
            astore 2 /* rect */
        start local 2 // java.awt.Rectangle rect
         1: .line 1005
            aload 0 /* this */
            aload 2 /* rect */
            getfield java.awt.Rectangle.x:I
            aload 2 /* rect */
            getfield java.awt.Rectangle.y:I
            aload 2 /* rect */
            getfield java.awt.Rectangle.width:I
            aload 2 /* rect */
            getfield java.awt.Rectangle.height:I
            invokevirtual sun.awt.X11.XBaseMenuWindow.repaint:(IIII)V
         2: .line 1006
            return
        end local 2 // java.awt.Rectangle rect
        end local 1 // java.awt.event.PaintEvent event
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/X11/XBaseMenuWindow;
            0    3     1  event  Ljava/awt/event/PaintEvent;
            1    3     2   rect  Ljava/awt/Rectangle;
    MethodParameters:
       Name  Flags
      event  

  void doHandleJavaMouseEvent(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.event.MouseEvent mouseEvent
         0: .line 1021
            aload 1 /* mouseEvent */
            invokestatic sun.awt.X11.XToolkit.isLeftMouseButton:(Ljava/awt/event/MouseEvent;)Z
            ifne 2
            aload 1 /* mouseEvent */
            invokestatic sun.awt.X11.XToolkit.isRightMouseButton:(Ljava/awt/event/MouseEvent;)Z
            ifne 2
         1: .line 1022
            return
         2: .line 1025
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XAwtState.getGrabWindow:()Lsun/awt/X11/XBaseWindow;
            astore 2 /* grabWindow */
        start local 2 // sun.awt.X11.XBaseWindow grabWindow
         3: .line 1027
            aload 1 /* mouseEvent */
            invokevirtual java.awt.event.MouseEvent.getLocationOnScreen:()Ljava/awt/Point;
            astore 3 /* ptGlobal */
        start local 3 // java.awt.Point ptGlobal
         4: .line 1028
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
            ifne 9
         5: .line 1030
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
            ifnull 8
         6: .line 1031
            aload 3 /* ptGlobal */
            getfield java.awt.Point.x:I
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
            getfield java.awt.Point.x:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            invokestatic sun.awt.X11.XBaseMenuWindow.getMouseMovementSmudge:()I
            if_icmpgt 8
         7: .line 1032
            aload 3 /* ptGlobal */
            getfield java.awt.Point.y:I
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.grabInputPoint:Ljava/awt/Point;
            getfield java.awt.Point.y:I
            isub
            invokestatic java.lang.Math.abs:(I)I
            invokestatic sun.awt.X11.XBaseMenuWindow.getMouseMovementSmudge:()I
            if_icmple 9
         8: .line 1033
      StackMap locals: sun.awt.X11.XBaseWindow java.awt.Point
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
         9: .line 1038
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ptGlobal */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getMenuWindowFromPoint:(Ljava/awt/Point;)Lsun/awt/X11/XBaseMenuWindow;
            astore 4 /* wnd */
        start local 4 // sun.awt.X11.XBaseMenuWindow wnd
        10: .line 1040
            aload 4 /* wnd */
            ifnull 11
            aload 4 /* wnd */
            aload 4 /* wnd */
            aload 3 /* ptGlobal */
            invokevirtual sun.awt.X11.XBaseMenuWindow.toLocal:(Ljava/awt/Point;)Ljava/awt/Point;
            invokevirtual sun.awt.X11.XBaseMenuWindow.getItemFromPoint:(Ljava/awt/Point;)Lsun/awt/X11/XMenuItemPeer;
            goto 12
      StackMap locals: sun.awt.X11.XBaseMenuWindow
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: sun.awt.X11.XMenuItemPeer
        12: astore 5 /* item */
        start local 5 // sun.awt.X11.XMenuItemPeer item
        13: .line 1042
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingLeaf:()Lsun/awt/X11/XBaseMenuWindow;
            astore 6 /* cwnd */
        start local 6 // sun.awt.X11.XBaseMenuWindow cwnd
        14: .line 1043
            aload 1 /* mouseEvent */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            tableswitch { // 501 - 506
                  501: 15
                  502: 28
                  503: 52
                  504: 52
                  505: 52
                  506: 43
              default: 52
          }
        15: .line 1047
      StackMap locals: sun.awt.X11.XMenuItemPeer sun.awt.X11.XBaseMenuWindow
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.showingMousePressedSubmenu:Lsun/awt/X11/XMenuPeer;
        16: .line 1048
            aload 2 /* grabWindow */
            aload 0 /* this */
            if_acmpne 19
            aload 4 /* wnd */
            ifnonnull 19
        17: .line 1051
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        18: .line 1052
            goto 52
        19: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.grabInput:()Z
            pop
        20: .line 1055
            aload 5 /* item */
            ifnull 25
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 25
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 25
        21: .line 1057
            aload 4 /* wnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingSubmenu:()Lsun/awt/X11/XMenuPeer;
            aload 5 /* item */
            if_acmpne 23
        22: .line 1061
            aload 0 /* this */
            aload 5 /* item */
            checkcast sun.awt.X11.XMenuPeer
            putfield sun.awt.X11.XBaseMenuWindow.showingMousePressedSubmenu:Lsun/awt/X11/XMenuPeer;
        23: .line 1063
      StackMap locals:
      StackMap stack:
            aload 4 /* wnd */
            aload 5 /* item */
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        24: .line 1064
            goto 52
        25: .line 1066
      StackMap locals:
      StackMap stack:
            aload 4 /* wnd */
            ifnull 52
        26: .line 1067
            aload 4 /* wnd */
            aconst_null
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        27: .line 1071
            goto 52
        28: .line 1074
      StackMap locals:
      StackMap stack:
            aload 5 /* item */
            ifnull 39
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 39
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 39
        29: .line 1075
            aload 5 /* item */
            instanceof sun.awt.X11.XMenuPeer
            ifeq 36
        30: .line 1076
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.showingMousePressedSubmenu:Lsun/awt/X11/XMenuPeer;
            aload 5 /* item */
            if_acmpne 41
        31: .line 1079
            aload 4 /* wnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 34
        32: .line 1080
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        33: .line 1081
            goto 41
        34: .line 1082
      StackMap locals:
      StackMap stack:
            aload 4 /* wnd */
            aload 5 /* item */
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        35: .line 1085
            goto 41
        36: .line 1087
      StackMap locals:
      StackMap stack:
            aload 5 /* item */
            aload 1 /* mouseEvent */
            invokevirtual java.awt.event.MouseEvent.getWhen:()J
            invokevirtual sun.awt.X11.XMenuItemPeer.action:(J)V
        37: .line 1088
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        38: .line 1090
            goto 41
        39: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.XBaseMenuWindow.hasPointerMoved:Z
            ifne 40
            aload 4 /* wnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 41
        40: .line 1093
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        41: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XBaseMenuWindow.showingMousePressedSubmenu:Lsun/awt/X11/XMenuPeer;
        42: .line 1097
            goto 52
        43: .line 1099
      StackMap locals:
      StackMap stack:
            aload 4 /* wnd */
            ifnull 50
        44: .line 1102
            aload 5 /* item */
            ifnull 48
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isSeparator:()Z
            ifne 48
            aload 5 /* item */
            invokevirtual sun.awt.X11.XMenuItemPeer.isTargetItemEnabled:()Z
            ifeq 48
        45: .line 1103
            aload 2 /* grabWindow */
            aload 0 /* this */
            if_acmpne 52
        46: .line 1104
            aload 4 /* wnd */
            aload 5 /* item */
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        47: .line 1106
            goto 52
        48: .line 1107
      StackMap locals:
      StackMap stack:
            aload 4 /* wnd */
            aconst_null
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        49: .line 1109
            goto 52
        50: .line 1112
      StackMap locals:
      StackMap stack:
            aload 6 /* cwnd */
            ifnull 52
        51: .line 1113
            aload 6 /* cwnd */
            aconst_null
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        52: .line 1118
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.awt.X11.XBaseMenuWindow cwnd
        end local 5 // sun.awt.X11.XMenuItemPeer item
        end local 4 // sun.awt.X11.XBaseMenuWindow wnd
        end local 3 // java.awt.Point ptGlobal
        end local 2 // sun.awt.X11.XBaseWindow grabWindow
        end local 1 // java.awt.event.MouseEvent mouseEvent
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   53     0        this  Lsun/awt/X11/XBaseMenuWindow;
            0   53     1  mouseEvent  Ljava/awt/event/MouseEvent;
            3   53     2  grabWindow  Lsun/awt/X11/XBaseWindow;
            4   53     3    ptGlobal  Ljava/awt/Point;
           10   53     4         wnd  Lsun/awt/X11/XBaseMenuWindow;
           13   53     5        item  Lsun/awt/X11/XMenuItemPeer;
           14   53     6        cwnd  Lsun/awt/X11/XBaseMenuWindow;
    MethodParameters:
            Name  Flags
      mouseEvent  

  void doHandleJavaKeyEvent(java.awt.event.KeyEvent);
    descriptor: (Ljava/awt/event/KeyEvent;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.awt.X11.XBaseMenuWindow this
        start local 1 // java.awt.event.KeyEvent event
         0: .line 1127
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINER:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 2
         1: .line 1128
            getstatic sun.awt.X11.XBaseMenuWindow.log:Lsun/util/logging/PlatformLogger;
            aload 1 /* event */
            invokevirtual java.awt.event.KeyEvent.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;)V
         2: .line 1130
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual java.awt.event.KeyEvent.getID:()I
            sipush 401
            if_icmpeq 4
         3: .line 1131
            return
         4: .line 1133
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual java.awt.event.KeyEvent.getKeyCode:()I
            istore 2 /* keyCode */
        start local 2 // int keyCode
         5: .line 1134
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getShowingLeaf:()Lsun/awt/X11/XBaseMenuWindow;
            astore 3 /* cwnd */
        start local 3 // sun.awt.X11.XBaseMenuWindow cwnd
         6: .line 1135
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            astore 4 /* citem */
        start local 4 // sun.awt.X11.XMenuItemPeer citem
         7: .line 1136
            iload 2 /* keyCode */
            lookupswitch { // 12
                   10: 35
                   27: 42
                   32: 35
                   37: 16
                   38: 8
                   39: 26
                   40: 11
                  121: 51
                  224: 8
                  225: 11
                  226: 16
                  227: 26
              default: 53
          }
         8: .line 1139
      StackMap locals: int sun.awt.X11.XBaseMenuWindow sun.awt.X11.XMenuItemPeer
      StackMap stack:
            aload 3 /* cwnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifne 53
         9: .line 1142
            aload 3 /* cwnd */
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getPrevSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        10: .line 1144
            goto 53
        11: .line 1147
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 14
        12: .line 1149
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        13: .line 1150
            goto 53
        14: .line 1152
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getNextSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        15: .line 1154
            goto 53
        16: .line 1157
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 19
        17: .line 1160
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getPrevSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        18: .line 1161
            goto 53
      StackMap locals:
      StackMap stack:
        19: aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 22
        20: .line 1165
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getPrevSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        21: .line 1166
            goto 53
        22: .line 1169
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            astore 5 /* pwnd */
        start local 5 // sun.awt.X11.XBaseMenuWindow pwnd
        23: .line 1171
            aload 5 /* pwnd */
            ifnull 53
        24: .line 1172
            aload 5 /* pwnd */
            aload 5 /* pwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        end local 5 // sun.awt.X11.XBaseMenuWindow pwnd
        25: .line 1175
            goto 53
        26: .line 1178
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 29
        27: .line 1181
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getNextSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        28: .line 1182
            goto 53
      StackMap locals:
      StackMap stack:
        29: aload 4 /* citem */
            instanceof sun.awt.X11.XMenuPeer
            ifeq 32
        30: .line 1185
            aload 3 /* cwnd */
            aload 4 /* citem */
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        31: .line 1186
            goto 53
      StackMap locals:
      StackMap stack:
        32: aload 0 /* this */
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 53
        33: .line 1190
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getNextSelectableItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        34: .line 1192
            goto 53
        35: .line 1197
      StackMap locals:
      StackMap stack:
            aload 4 /* citem */
            instanceof sun.awt.X11.XMenuPeer
            ifeq 38
        36: .line 1198
            aload 3 /* cwnd */
            aload 4 /* citem */
            iconst_1
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        37: .line 1199
            goto 53
      StackMap locals:
      StackMap stack:
        38: aload 4 /* citem */
            ifnull 53
        39: .line 1200
            aload 4 /* citem */
            aload 1 /* event */
            invokevirtual java.awt.event.KeyEvent.getWhen:()J
            invokevirtual sun.awt.X11.XMenuItemPeer.action:(J)V
        40: .line 1201
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        41: .line 1203
            goto 53
        42: .line 1211
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            instanceof sun.awt.X11.XMenuBarPeer
            ifne 43
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            instanceof sun.awt.X11.XMenuBarPeer
            ifeq 45
        43: .line 1212
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        44: .line 1213
            goto 53
      StackMap locals:
      StackMap stack:
        45: aload 3 /* cwnd */
            instanceof sun.awt.X11.XPopupMenuPeer
            ifeq 48
        46: .line 1214
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        47: .line 1215
            goto 53
        48: .line 1216
      StackMap locals:
      StackMap stack:
            aload 3 /* cwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getParentMenuWindow:()Lsun/awt/X11/XBaseMenuWindow;
            astore 5 /* pwnd */
        start local 5 // sun.awt.X11.XBaseMenuWindow pwnd
        49: .line 1217
            aload 5 /* pwnd */
            aload 5 /* pwnd */
            invokevirtual sun.awt.X11.XBaseMenuWindow.getSelectedItem:()Lsun/awt/X11/XMenuItemPeer;
            iconst_0
            invokevirtual sun.awt.X11.XBaseMenuWindow.selectItem:(Lsun/awt/X11/XMenuItemPeer;Z)V
        end local 5 // sun.awt.X11.XBaseMenuWindow pwnd
        50: .line 1219
            goto 53
        51: .line 1223
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XBaseMenuWindow.ungrabInput:()V
        52: .line 1224
            goto 53
        53: .line 1228
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.awt.X11.XMenuItemPeer citem
        end local 3 // sun.awt.X11.XBaseMenuWindow cwnd
        end local 2 // int keyCode
        end local 1 // java.awt.event.KeyEvent event
        end local 0 // sun.awt.X11.XBaseMenuWindow this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   54     0     this  Lsun/awt/X11/XBaseMenuWindow;
            0   54     1    event  Ljava/awt/event/KeyEvent;
            5   54     2  keyCode  I
            6   54     3     cwnd  Lsun/awt/X11/XBaseMenuWindow;
            7   54     4    citem  Lsun/awt/X11/XMenuItemPeer;
           23   25     5     pwnd  Lsun/awt/X11/XBaseMenuWindow;
           49   50     5     pwnd  Lsun/awt/X11/XBaseMenuWindow;
    MethodParameters:
       Name  Flags
      event  
}
SourceFile: "XBaseMenuWindow.java"
NestMembers:
  sun.awt.X11.XBaseMenuWindow$1  sun.awt.X11.XBaseMenuWindow$2  sun.awt.X11.XBaseMenuWindow$3  sun.awt.X11.XBaseMenuWindow$MappingData
InnerClasses:
  sun.awt.X11.XBaseMenuWindow$1
  sun.awt.X11.XBaseMenuWindow$2
  sun.awt.X11.XBaseMenuWindow$3
  MappingData = sun.awt.X11.XBaseMenuWindow$MappingData of sun.awt.X11.XBaseMenuWindow
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger