final class sun.awt.X11.XNETProtocol extends sun.awt.X11.XProtocol implements sun.awt.X11.XStateProtocol, sun.awt.X11.XLayerProtocol
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.awt.X11.XNETProtocol
  super_class: sun.awt.X11.XProtocol
{
  private static final sun.util.logging.PlatformLogger log;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.util.logging.PlatformLogger iconLog;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static sun.util.logging.PlatformLogger stateLog;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  sun.awt.X11.XAtom XA_UTF8_STRING;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_SUPPORTING_WM_CHECK;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_SUPPORTED;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_ACTIVE_WINDOW;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_NAME;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_MAXIMIZED_HORZ;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_MAXIMIZED_VERT;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_SHADED;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_ABOVE;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_MODAL;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_FULLSCREEN;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_BELOW;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_HIDDEN;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_SKIP_TASKBAR;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  sun.awt.X11.XAtom XA_NET_WM_STATE_SKIP_PAGER;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  public final sun.awt.X11.XAtom XA_NET_WM_WINDOW_TYPE;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final sun.awt.X11.XAtom XA_NET_WM_WINDOW_TYPE_NORMAL;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final sun.awt.X11.XAtom XA_NET_WM_WINDOW_TYPE_DIALOG;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final sun.awt.X11.XAtom XA_NET_WM_WINDOW_TYPE_UTILITY;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final sun.awt.X11.XAtom XA_NET_WM_WINDOW_TYPE_POPUP_MENU;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  sun.awt.X11.XAtom XA_NET_WM_WINDOW_OPACITY;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0000) 

  static final int _NET_WM_STATE_REMOVE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int _NET_WM_STATE_ADD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int _NET_WM_STATE_TOGGLE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  boolean supportChecked;
    descriptor: Z
    flags: (0x0000) 

  long NetWindow;
    descriptor: J
    flags: (0x0000) 

  java.lang.String net_wm_name_cache;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 36
            ldc "sun.awt.X11.XNETProtocol"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
         1: .line 37
            ldc "sun.awt.X11.icon.XNETProtocol"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XNETProtocol.iconLog:Lsun/util/logging/PlatformLogger;
         2: .line 38
            ldc "sun.awt.X11.states.XNETProtocol"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XNETProtocol.stateLog:Lsun/util/logging/PlatformLogger;
         3: .line 285
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 34
            aload 0 /* this */
            invokespecial sun.awt.X11.XProtocol.<init>:()V
         1: .line 249
            aload 0 /* this */
            ldc "UTF8_STRING"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_UTF8_STRING:Lsun/awt/X11/XAtom;
         2: .line 250
            aload 0 /* this */
            ldc "_NET_SUPPORTING_WM_CHECK"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTING_WM_CHECK:Lsun/awt/X11/XAtom;
         3: .line 251
            aload 0 /* this */
            ldc "_NET_SUPPORTED"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
         4: .line 252
            aload 0 /* this */
            ldc "_NET_ACTIVE_WINDOW"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_ACTIVE_WINDOW:Lsun/awt/X11/XAtom;
         5: .line 253
            aload 0 /* this */
            ldc "_NET_WM_NAME"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_NAME:Lsun/awt/X11/XAtom;
         6: .line 254
            aload 0 /* this */
            ldc "_NET_WM_STATE"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE:Lsun/awt/X11/XAtom;
         7: .line 263
            aload 0 /* this */
            ldc "_NET_WM_STATE_MAXIMIZED_HORZ"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
         8: .line 264
            aload 0 /* this */
            ldc "_NET_WM_STATE_MAXIMIZED_VERT"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
         9: .line 265
            aload 0 /* this */
            ldc "_NET_WM_STATE_SHADED"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_SHADED:Lsun/awt/X11/XAtom;
        10: .line 266
            aload 0 /* this */
            ldc "_NET_WM_STATE_ABOVE"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_ABOVE:Lsun/awt/X11/XAtom;
        11: .line 267
            aload 0 /* this */
            ldc "_NET_WM_STATE_MODAL"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MODAL:Lsun/awt/X11/XAtom;
        12: .line 268
            aload 0 /* this */
            ldc "_NET_WM_STATE_FULLSCREEN"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_FULLSCREEN:Lsun/awt/X11/XAtom;
        13: .line 269
            aload 0 /* this */
            ldc "_NET_WM_STATE_BELOW"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_BELOW:Lsun/awt/X11/XAtom;
        14: .line 270
            aload 0 /* this */
            ldc "_NET_WM_STATE_HIDDEN"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_HIDDEN:Lsun/awt/X11/XAtom;
        15: .line 271
            aload 0 /* this */
            ldc "_NET_WM_STATE_SKIP_TASKBAR"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_SKIP_TASKBAR:Lsun/awt/X11/XAtom;
        16: .line 272
            aload 0 /* this */
            ldc "_NET_WM_STATE_SKIP_PAGER"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_SKIP_PAGER:Lsun/awt/X11/XAtom;
        17: .line 274
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_TYPE"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_TYPE:Lsun/awt/X11/XAtom;
        18: .line 275
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_TYPE_NORMAL"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_TYPE_NORMAL:Lsun/awt/X11/XAtom;
        19: .line 276
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_TYPE_DIALOG"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_TYPE_DIALOG:Lsun/awt/X11/XAtom;
        20: .line 277
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_TYPE_UTILITY"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_TYPE_UTILITY:Lsun/awt/X11/XAtom;
        21: .line 278
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_TYPE_POPUP_MENU"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_TYPE_POPUP_MENU:Lsun/awt/X11/XAtom;
        22: .line 280
            aload 0 /* this */
            ldc "_NET_WM_WINDOW_OPACITY"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_OPACITY:Lsun/awt/X11/XAtom;
        23: .line 287
            aload 0 /* this */
            iconst_0
            putfield sun.awt.X11.XNETProtocol.supportChecked:Z
        24: .line 288
            aload 0 /* this */
            lconst_0
            putfield sun.awt.X11.XNETProtocol.NetWindow:J
        25: .line 34
            return
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lsun/awt/X11/XNETProtocol;

  public boolean supportsState(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // int state
         0: .line 44
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.doStateProtocol:()Z
            ireturn
        end local 1 // int state
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/awt/X11/XNETProtocol;
            0    1     1  state  I
    MethodParameters:
       Name  Flags
      state  

  public void setState(sun.awt.X11.XWindowPeer, int);
    descriptor: (Lsun/awt/X11/XWindowPeer;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // int state
         0: .line 48
            getstatic sun.awt.X11.XNETProtocol.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 2
         1: .line 49
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Setting state of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* window */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* state */
            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
         2: .line 51
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isShowing:()Z
            ifeq 5
         3: .line 52
            aload 0 /* this */
            aload 1 /* window */
            iload 2 /* state */
            invokevirtual sun.awt.X11.XNETProtocol.requestState:(Lsun/awt/X11/XWindowPeer;I)V
         4: .line 53
            goto 6
         5: .line 54
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* window */
            iload 2 /* state */
            invokevirtual sun.awt.X11.XNETProtocol.setInitialState:(Lsun/awt/X11/XWindowPeer;I)V
         6: .line 56
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/awt/X11/XNETProtocol;
            0    7     1  window  Lsun/awt/X11/XWindowPeer;
            0    7     2   state  I
    MethodParameters:
        Name  Flags
      window  
      state   

  private void setInitialState(sun.awt.X11.XWindowPeer, int);
    descriptor: (Lsun/awt/X11/XWindowPeer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // int state
         0: .line 59
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getNETWMState:()Lsun/awt/X11/XAtomList;
            astore 3 /* old_state */
        start local 3 // sun.awt.X11.XAtomList old_state
         1: .line 60
            getstatic sun.awt.X11.XNETProtocol.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 3
         2: .line 61
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Current state of the window {0} is {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* window */
            aastore
            dup
            iconst_1
            aload 3 /* old_state */
            aastore
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 63
      StackMap locals: sun.awt.X11.XAtomList
      StackMap stack:
            iload 2 /* state */
            iconst_4
            iand
            ifeq 6
         4: .line 64
            aload 3 /* old_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.add:(Lsun/awt/X11/XAtom;)V
         5: .line 65
            goto 7
         6: .line 66
      StackMap locals:
      StackMap stack:
            aload 3 /* old_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.remove:(Lsun/awt/X11/XAtom;)V
         7: .line 68
      StackMap locals:
      StackMap stack:
            iload 2 /* state */
            iconst_2
            iand
            ifeq 10
         8: .line 69
            aload 3 /* old_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.add:(Lsun/awt/X11/XAtom;)V
         9: .line 70
            goto 11
        10: .line 71
      StackMap locals:
      StackMap stack:
            aload 3 /* old_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.remove:(Lsun/awt/X11/XAtom;)V
        11: .line 73
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XNETProtocol.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 13
        12: .line 74
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Setting initial state of the window {0} to {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* window */
            aastore
            dup
            iconst_1
            aload 3 /* old_state */
            aastore
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 76
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            aload 3 /* old_state */
            invokevirtual sun.awt.X11.XWindowPeer.setNETWMState:(Lsun/awt/X11/XAtomList;)V
        14: .line 77
            return
        end local 3 // sun.awt.X11.XAtomList old_state
        end local 2 // int state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/awt/X11/XNETProtocol;
            0   15     1     window  Lsun/awt/X11/XWindowPeer;
            0   15     2      state  I
            1   15     3  old_state  Lsun/awt/X11/XAtomList;
    MethodParameters:
        Name  Flags
      window  
      state   

  private void requestState(sun.awt.X11.XWindowPeer, int);
    descriptor: (Lsun/awt/X11/XWindowPeer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=3
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // int state
         0: .line 85
            aload 0 /* this */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XNETProtocol.getState:(Lsun/awt/X11/XWindowPeer;)I
            istore 3 /* old_net_state */
        start local 3 // int old_net_state
         1: .line 86
            iload 2 /* state */
            iload 3 /* old_net_state */
            ixor
            bipush 6
            iand
            istore 4 /* max_changed */
        start local 4 // int max_changed
         2: .line 88
            new sun.awt.X11.XClientMessageEvent
            dup
            invokespecial sun.awt.X11.XClientMessageEvent.<init>:()V
            astore 5 /* req */
        start local 5 // sun.awt.X11.XClientMessageEvent req
         3: .line 90
            iload 4 /* max_changed */
            tableswitch { // 0 - 6
                    0: 4
                    1: 15
                    2: 6
                    3: 15
                    4: 9
                    5: 15
                    6: 12
              default: 15
          }
         4: .line 128
      StackMap locals: int int sun.awt.X11.XClientMessageEvent
      StackMap stack:
            aload 5 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
         5: .line 92
            return
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            iconst_1
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
         7: .line 95
            aload 5 /* req */
            iconst_2
            lconst_0
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
         8: .line 96
            goto 17
         9: .line 98
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            iconst_1
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        10: .line 99
            aload 5 /* req */
            iconst_2
            lconst_0
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        11: .line 100
            goto 17
        12: .line 102
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            iconst_1
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        13: .line 103
            aload 5 /* req */
            iconst_2
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        14: .line 104
            goto 17
        15: .line 128
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        16: .line 106
            return
        17: .line 108
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XNETProtocol.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 19
        18: .line 109
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Requesting state on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* window */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* state */
            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
        19: .line 111
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            bipush 33
            invokevirtual sun.awt.X11.XClientMessageEvent.set_type:(I)V
        20: .line 112
            aload 5 /* req */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getWindow:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_window:(J)V
        21: .line 113
            aload 5 /* req */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_message_type:(J)V
        22: .line 114
            aload 5 /* req */
            bipush 32
            invokevirtual sun.awt.X11.XClientMessageEvent.set_format:(I)V
        23: .line 115
            aload 5 /* req */
            iconst_0
            ldc 2
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        24: .line 116
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        25: .line 118
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        26: .line 119
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getScreenNumber:()J
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
        27: .line 120
            iconst_0
        28: .line 121
            ldc 1572864
        29: .line 122
            aload 5 /* req */
            getfield sun.awt.X11.XClientMessageEvent.pData:J
        30: .line 118
            invokestatic sun.awt.X11.XlibWrapper.XSendEvent:(JJZJJ)I
            pop
        31: .line 123
            goto 35
        32: .line 124
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        33: .line 125
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        34: .line 126
            aload 6
            athrow
        35: .line 125
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        36: .line 127
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 7
        38: .line 128
            aload 5 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        39: .line 129
            aload 7
            athrow
        40: .line 128
      StackMap locals:
      StackMap stack:
            aload 5 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        41: .line 130
            return
        end local 5 // sun.awt.X11.XClientMessageEvent req
        end local 4 // int max_changed
        end local 3 // int old_net_state
        end local 2 // int state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lsun/awt/X11/XNETProtocol;
            0   42     1         window  Lsun/awt/X11/XWindowPeer;
            0   42     2          state  I
            1   42     3  old_net_state  I
            2   42     4    max_changed  I
            3   42     5            req  Lsun/awt/X11/XClientMessageEvent;
      Exception table:
        from    to  target  type
          25    32      32  any
           3     4      37  any
           6    15      37  any
          17    37      37  any
    MethodParameters:
        Name  Flags
      window  
      state   

  public int getState(sun.awt.X11.XWindowPeer);
    descriptor: (Lsun/awt/X11/XWindowPeer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
         0: .line 133
            aload 0 /* this */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XNETProtocol.getStateImpl:(Lsun/awt/X11/XWindowPeer;)I
            ireturn
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/awt/X11/XNETProtocol;
            0    1     1  window  Lsun/awt/X11/XWindowPeer;
    MethodParameters:
        Name  Flags
      window  

  int getStateImpl(sun.awt.X11.XWindowPeer);
    descriptor: (Lsun/awt/X11/XWindowPeer;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
         0: .line 140
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getNETWMState:()Lsun/awt/X11/XAtomList;
            astore 2 /* net_wm_state */
        start local 2 // sun.awt.X11.XAtomList net_wm_state
         1: .line 141
            aload 2 /* net_wm_state */
            invokevirtual sun.awt.X11.XAtomList.size:()I
            ifne 3
         2: .line 142
            iconst_0
            ireturn
         3: .line 144
      StackMap locals: sun.awt.X11.XAtomList
      StackMap stack:
            iconst_0
            istore 3 /* java_state */
        start local 3 // int java_state
         4: .line 145
            aload 2 /* net_wm_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_VERT:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.contains:(Lsun/awt/X11/XAtom;)Z
            ifeq 6
         5: .line 146
            iload 3 /* java_state */
            iconst_4
            ior
            istore 3 /* java_state */
         6: .line 148
      StackMap locals: int
      StackMap stack:
            aload 2 /* net_wm_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MAXIMIZED_HORZ:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.contains:(Lsun/awt/X11/XAtom;)Z
            ifeq 8
         7: .line 149
            iload 3 /* java_state */
            iconst_2
            ior
            istore 3 /* java_state */
         8: .line 151
      StackMap locals:
      StackMap stack:
            iload 3 /* java_state */
            ireturn
        end local 3 // int java_state
        end local 2 // sun.awt.X11.XAtomList net_wm_state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lsun/awt/X11/XNETProtocol;
            0    9     1        window  Lsun/awt/X11/XWindowPeer;
            1    9     2  net_wm_state  Lsun/awt/X11/XAtomList;
            4    9     3    java_state  I
    MethodParameters:
        Name  Flags
      window  

  public boolean isStateChange(sun.awt.X11.XPropertyEvent);
    descriptor: (Lsun/awt/X11/XPropertyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XPropertyEvent e
         0: .line 155
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.doStateProtocol:()Z
            ifeq 1
            aload 1 /* e */
            invokevirtual sun.awt.X11.XPropertyEvent.get_atom:()J
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lcmp
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* res */
        start local 2 // boolean res
         3: .line 157
            iload 2 /* res */
            ifeq 6
         4: .line 159
            aload 1 /* e */
            invokevirtual sun.awt.X11.XPropertyEvent.get_window:()J
            invokestatic sun.awt.X11.XToolkit.windowToXWindow:(J)Lsun/awt/X11/XBaseWindow;
            checkcast sun.awt.X11.XWindowPeer
            astore 3 /* wpeer */
        start local 3 // sun.awt.X11.XWindowPeer wpeer
         5: .line 160
            aload 3 /* wpeer */
            aconst_null
            invokevirtual sun.awt.X11.XWindowPeer.setNETWMState:(Lsun/awt/X11/XAtomList;)V
        end local 3 // sun.awt.X11.XWindowPeer wpeer
         6: .line 162
      StackMap locals: int
      StackMap stack:
            iload 2 /* res */
            ireturn
        end local 2 // boolean res
        end local 1 // sun.awt.X11.XPropertyEvent e
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/awt/X11/XNETProtocol;
            0    7     1      e  Lsun/awt/X11/XPropertyEvent;
            3    7     2    res  Z
            5    6     3  wpeer  Lsun/awt/X11/XWindowPeer;
    MethodParameters:
      Name  Flags
      e     

  public void unshadeKludge(sun.awt.X11.XWindowPeer);
    descriptor: (Lsun/awt/X11/XWindowPeer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
         0: .line 169
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getNETWMState:()Lsun/awt/X11/XAtomList;
            astore 2 /* net_wm_state */
        start local 2 // sun.awt.X11.XAtomList net_wm_state
         1: .line 170
            aload 2 /* net_wm_state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_SHADED:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.remove:(Lsun/awt/X11/XAtom;)V
         2: .line 171
            aload 1 /* window */
            aload 2 /* net_wm_state */
            invokevirtual sun.awt.X11.XWindowPeer.setNETWMState:(Lsun/awt/X11/XAtomList;)V
         3: .line 172
            return
        end local 2 // sun.awt.X11.XAtomList net_wm_state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lsun/awt/X11/XNETProtocol;
            0    4     1        window  Lsun/awt/X11/XWindowPeer;
            1    4     2  net_wm_state  Lsun/awt/X11/XAtomList;
    MethodParameters:
        Name  Flags
      window  

  public boolean supportsLayer(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // int layer
         0: .line 178
            iload 1 /* layer */
            iconst_1
            if_icmpeq 1
            iload 1 /* layer */
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.doLayerProtocol:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // int layer
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/X11/XNETProtocol;
            0    3     1  layer  I
    MethodParameters:
       Name  Flags
      layer  

  public void requestState(sun.awt.X11.XWindow, sun.awt.X11.XAtom, boolean);
    descriptor: (Lsun/awt/X11/XWindow;Lsun/awt/X11/XAtom;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindow window
        start local 2 // sun.awt.X11.XAtom state
        start local 3 // boolean isAdd
         0: .line 182
            new sun.awt.X11.XClientMessageEvent
            dup
            invokespecial sun.awt.X11.XClientMessageEvent.<init>:()V
            astore 4 /* req */
        start local 4 // sun.awt.X11.XClientMessageEvent req
         1: .line 184
            aload 4 /* req */
            bipush 33
            invokevirtual sun.awt.X11.XClientMessageEvent.set_type:(I)V
         2: .line 185
            aload 4 /* req */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindow.getWindow:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_window:(J)V
         3: .line 186
            aload 4 /* req */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_message_type:(J)V
         4: .line 187
            aload 4 /* req */
            bipush 32
            invokevirtual sun.awt.X11.XClientMessageEvent.set_format:(I)V
         5: .line 188
            aload 4 /* req */
            iconst_0
            iload 3 /* isAdd */
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindow sun.awt.X11.XAtom int sun.awt.X11.XClientMessageEvent
      StackMap stack: sun.awt.X11.XClientMessageEvent int
         6: iconst_0
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindow sun.awt.X11.XAtom int sun.awt.X11.XClientMessageEvent
      StackMap stack: sun.awt.X11.XClientMessageEvent int int
         7: i2l
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
         8: .line 189
            aload 4 /* req */
            iconst_1
            aload 2 /* state */
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
         9: .line 191
            aload 4 /* req */
            iconst_2
            lconst_0
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        10: .line 192
            getstatic sun.awt.X11.XNETProtocol.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 12
        11: .line 193
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Setting _NET_STATE atom {0} on {1} for {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* state */
            aastore
            dup
            iconst_1
            aload 1 /* window */
            aastore
            dup
            iconst_2
            iload 3 /* isAdd */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 195
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        13: .line 197
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        14: .line 198
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindow.getScreenNumber:()J
            invokestatic sun.awt.X11.XlibWrapper.RootWindow:(JJ)J
        15: .line 199
            iconst_0
        16: .line 200
            ldc 1572864
        17: .line 201
            aload 4 /* req */
            getfield sun.awt.X11.XClientMessageEvent.pData:J
        18: .line 197
            invokestatic sun.awt.X11.XlibWrapper.XSendEvent:(JJZJJ)I
            pop
        19: .line 202
            goto 23
        20: .line 203
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        21: .line 204
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        22: .line 205
            aload 5
            athrow
        23: .line 204
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        24: .line 206
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 6
        26: .line 207
            aload 4 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        27: .line 208
            aload 6
            athrow
        28: .line 207
      StackMap locals:
      StackMap stack:
            aload 4 /* req */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        29: .line 209
            return
        end local 4 // sun.awt.X11.XClientMessageEvent req
        end local 3 // boolean isAdd
        end local 2 // sun.awt.X11.XAtom state
        end local 1 // sun.awt.X11.XWindow window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   30     0    this  Lsun/awt/X11/XNETProtocol;
            0   30     1  window  Lsun/awt/X11/XWindow;
            0   30     2   state  Lsun/awt/X11/XAtom;
            0   30     3   isAdd  Z
            1   30     4     req  Lsun/awt/X11/XClientMessageEvent;
      Exception table:
        from    to  target  type
          13    20      20  any
           1    25      25  any
    MethodParameters:
        Name  Flags
      window  
      state   
      isAdd   

  private void setStateHelper(sun.awt.X11.XWindowPeer, sun.awt.X11.XAtom, boolean);
    descriptor: (Lsun/awt/X11/XWindowPeer;Lsun/awt/X11/XAtom;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // sun.awt.X11.XAtom state
        start local 3 // boolean set
         0: .line 219
            getstatic sun.awt.X11.XNETProtocol.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 5
         1: .line 220
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Window visibility is: withdrawn={0}, visible={1}, mapped={2} showing={3}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 221
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isWithdrawn:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isVisible:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
         3: .line 222
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isMapped:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isShowing:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         4: .line 220
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.isShowing:()Z
            ifeq 8
         6: .line 225
            aload 0 /* this */
            aload 1 /* window */
            aload 2 /* state */
            iload 3 /* set */
            invokevirtual sun.awt.X11.XNETProtocol.requestState:(Lsun/awt/X11/XWindow;Lsun/awt/X11/XAtom;Z)V
         7: .line 226
            goto 18
         8: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getNETWMState:()Lsun/awt/X11/XAtomList;
            astore 4 /* net_wm_state */
        start local 4 // sun.awt.X11.XAtomList net_wm_state
         9: .line 228
            getstatic sun.awt.X11.XNETProtocol.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 11
        10: .line 229
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Current state on {0} is {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* window */
            aastore
            dup
            iconst_1
            aload 4 /* net_wm_state */
            aastore
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 231
      StackMap locals: sun.awt.X11.XAtomList
      StackMap stack:
            iload 3 /* set */
            ifne 14
        12: .line 232
            aload 4 /* net_wm_state */
            aload 2 /* state */
            invokevirtual sun.awt.X11.XAtomList.remove:(Lsun/awt/X11/XAtom;)V
        13: .line 233
            goto 15
        14: .line 234
      StackMap locals:
      StackMap stack:
            aload 4 /* net_wm_state */
            aload 2 /* state */
            invokevirtual sun.awt.X11.XAtomList.add:(Lsun/awt/X11/XAtom;)V
        15: .line 236
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XNETProtocol.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 17
        16: .line 237
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            ldc "Setting states on {0} to {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* window */
            aastore
            dup
            iconst_1
            aload 4 /* net_wm_state */
            aastore
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            aload 4 /* net_wm_state */
            invokevirtual sun.awt.X11.XWindowPeer.setNETWMState:(Lsun/awt/X11/XAtomList;)V
        end local 4 // sun.awt.X11.XAtomList net_wm_state
        18: .line 241
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.XSync:()V
        19: .line 242
            return
        end local 3 // boolean set
        end local 2 // sun.awt.X11.XAtom state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lsun/awt/X11/XNETProtocol;
            0   20     1        window  Lsun/awt/X11/XWindowPeer;
            0   20     2         state  Lsun/awt/X11/XAtom;
            0   20     3           set  Z
            9   18     4  net_wm_state  Lsun/awt/X11/XAtomList;
    MethodParameters:
        Name  Flags
      window  
      state   
      set     

  public void setLayer(sun.awt.X11.XWindowPeer, int);
    descriptor: (Lsun/awt/X11/XWindowPeer;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // int layer
         0: .line 245
            aload 0 /* this */
            aload 1 /* window */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_ABOVE:Lsun/awt/X11/XAtom;
            iload 2 /* layer */
            iconst_1
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer int
      StackMap stack: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer sun.awt.X11.XAtom
         1: iconst_0
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer int
      StackMap stack: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer sun.awt.X11.XAtom int
         2: invokevirtual sun.awt.X11.XNETProtocol.setStateHelper:(Lsun/awt/X11/XWindowPeer;Lsun/awt/X11/XAtom;Z)V
         3: .line 246
            return
        end local 2 // int layer
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/awt/X11/XNETProtocol;
            0    4     1  window  Lsun/awt/X11/XWindowPeer;
            0    4     2   layer  I
    MethodParameters:
        Name  Flags
      window  
      layer   

  void detect();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 290
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.supportChecked:Z
            ifeq 2
         1: .line 292
            return
         2: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTING_WM_CHECK:Lsun/awt/X11/XAtom;
            ldc 33
            invokevirtual sun.awt.X11.XNETProtocol.checkAnchor:(Lsun/awt/X11/XAtom;J)J
            putfield sun.awt.X11.XNETProtocol.NetWindow:J
         3: .line 295
            aload 0 /* this */
            iconst_1
            putfield sun.awt.X11.XNETProtocol.supportChecked:Z
         4: .line 296
            getstatic sun.awt.X11.XNETProtocol.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 8
         5: .line 297
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "### "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is active: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.NetWindow:J
            lconst_0
            lcmp
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: sun.awt.X11.XNETProtocol
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
         6: iconst_0
      StackMap locals: sun.awt.X11.XNETProtocol
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder int
         7: invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;)V
         8: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/awt/X11/XNETProtocol;

  boolean active();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 302
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.detect:()V
         1: .line 303
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.NetWindow:J
            lconst_0
            lcmp
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/XNETProtocol;

  boolean doStateProtocol();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 307
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XNETProtocol.checkProtocol:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XAtom;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* res */
        start local 1 // boolean res
         3: .line 308
            getstatic sun.awt.X11.XNETProtocol.stateLog: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 5
         4: .line 309
            getstatic sun.awt.X11.XNETProtocol.stateLog:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "doStateProtocol() returns "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* res */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;)V
         5: .line 311
      StackMap locals: int
      StackMap stack:
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/X11/XNETProtocol;
            3    6     1   res  Z

  boolean doLayerProtocol();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 315
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_ABOVE:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XNETProtocol.checkProtocol:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XAtom;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* res */
        start local 1 // boolean res
         3: .line 316
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XNETProtocol;
            3    4     1   res  Z

  boolean doModalityProtocol();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 320
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_MODAL:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XNETProtocol.checkProtocol:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XAtom;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* res */
        start local 1 // boolean res
         3: .line 321
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XNETProtocol;
            3    4     1   res  Z

  boolean doOpacityProtocol();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 325
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_WINDOW_OPACITY:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XNETProtocol.checkProtocol:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XAtom;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* res */
        start local 1 // boolean res
         3: .line 326
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/X11/XNETProtocol;
            3    4     1   res  Z

  public void setActiveWindow(sun.awt.X11.XWindow);
    descriptor: (Lsun/awt/X11/XWindow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindow window
         0: .line 330
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_SUPPORTED:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_ACTIVE_WINDOW:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XNETProtocol.checkProtocol:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XAtom;)Z
            ifne 2
         1: .line 331
      StackMap locals:
      StackMap stack:
            return
         2: .line 334
      StackMap locals:
      StackMap stack:
            new sun.awt.X11.XClientMessageEvent
            dup
            invokespecial sun.awt.X11.XClientMessageEvent.<init>:()V
            astore 2 /* msg */
        start local 2 // sun.awt.X11.XClientMessageEvent msg
         3: .line 335
            aload 2 /* msg */
            invokevirtual sun.awt.X11.XClientMessageEvent.zero:()V
         4: .line 336
            aload 2 /* msg */
            bipush 33
            invokevirtual sun.awt.X11.XClientMessageEvent.set_type:(I)V
         5: .line 337
            aload 2 /* msg */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_ACTIVE_WINDOW:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_message_type:(J)V
         6: .line 338
            aload 2 /* msg */
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_display:(J)V
         7: .line 339
            aload 2 /* msg */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindow.getWindow:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_window:(J)V
         8: .line 340
            aload 2 /* msg */
            bipush 32
            invokevirtual sun.awt.X11.XClientMessageEvent.set_format:(I)V
         9: .line 341
            aload 2 /* msg */
            iconst_0
            lconst_1
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        10: .line 342
            aload 2 /* msg */
            iconst_1
            invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        11: .line 343
            aload 2 /* msg */
            iconst_2
            lconst_0
            invokevirtual sun.awt.X11.XClientMessageEvent.set_data:(IJ)V
        12: .line 345
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        13: .line 347
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            invokestatic sun.awt.X11.XToolkit.getDefaultRootWindow:()J
            iconst_0
        14: .line 348
            ldc 1572864
            aload 2 /* msg */
            invokevirtual sun.awt.X11.XClientMessageEvent.getPData:()J
        15: .line 347
            invokestatic sun.awt.X11.XlibWrapper.XSendEvent:(JJZJJ)I
            pop
        16: .line 349
            goto 21
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindow sun.awt.X11.XClientMessageEvent
      StackMap stack: java.lang.Throwable
        17: astore 3
        18: .line 350
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        19: .line 351
            aload 2 /* msg */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        20: .line 352
            aload 3
            athrow
        21: .line 350
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        22: .line 351
            aload 2 /* msg */
            invokevirtual sun.awt.X11.XClientMessageEvent.dispose:()V
        23: .line 353
            return
        end local 2 // sun.awt.X11.XClientMessageEvent msg
        end local 1 // sun.awt.X11.XWindow window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lsun/awt/X11/XNETProtocol;
            0   24     1  window  Lsun/awt/X11/XWindow;
            3   24     2     msg  Lsun/awt/X11/XClientMessageEvent;
      Exception table:
        from    to  target  type
          13    17      17  any
    MethodParameters:
        Name  Flags
      window  

  boolean isWMName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // java.lang.String name
         0: .line 356
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifne 2
         1: .line 357
            iconst_0
            ireturn
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.getWMName:()Ljava/lang/String;
            astore 2 /* net_wm_name_string */
        start local 2 // java.lang.String net_wm_name_string
         3: .line 360
            aload 2 /* net_wm_name_string */
            ifnonnull 5
         4: .line 361
            iconst_0
            ireturn
         5: .line 363
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.awt.X11.XNETProtocol.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 7
         6: .line 364
            getstatic sun.awt.X11.XNETProtocol.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "### WM_NAME = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* net_wm_name_string */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.fine:(Ljava/lang/String;)V
         7: .line 366
      StackMap locals:
      StackMap stack:
            aload 2 /* net_wm_name_string */
            aload 1 /* name */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String net_wm_name_string
        end local 1 // java.lang.String name
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lsun/awt/X11/XNETProtocol;
            0    8     1                name  Ljava/lang/String;
            3    8     2  net_wm_name_string  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getWMName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.awt.X11.XNETProtocol this
         0: .line 371
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.active:()Z
            ifne 2
         1: .line 372
            aconst_null
            areturn
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.net_wm_name_cache:Ljava/lang/String;
            ifnull 4
         3: .line 376
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.net_wm_name_cache:Ljava/lang/String;
            areturn
         4: .line 385
      StackMap locals:
      StackMap stack:
            ldc "UTF8"
            astore 1 /* charSet */
        start local 1 // java.lang.String charSet
         5: .line 386
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_NAME:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.NetWindow:J
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_UTF8_STRING:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XAtom.getByteArrayProperty:(JJ)[B
            astore 2 /* net_wm_name */
        start local 2 // byte[] net_wm_name
         6: .line 387
            aload 2 /* net_wm_name */
            ifnonnull 9
         7: .line 388
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_NAME:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.NetWindow:J
            ldc 31
            invokevirtual sun.awt.X11.XAtom.getByteArrayProperty:(JJ)[B
            astore 2 /* net_wm_name */
         8: .line 389
            ldc "ASCII"
            astore 1 /* charSet */
         9: .line 392
      StackMap locals: java.lang.String byte[]
      StackMap stack:
            aload 2 /* net_wm_name */
            ifnonnull 11
        10: .line 393
            aconst_null
            areturn
        11: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.String
            dup
            aload 2 /* net_wm_name */
            aload 1 /* charSet */
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            putfield sun.awt.X11.XNETProtocol.net_wm_name_cache:Ljava/lang/String;
        12: .line 397
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.net_wm_name_cache:Ljava/lang/String;
        13: areturn
        14: .line 398
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        15: .line 399
            aconst_null
            areturn
        end local 2 // byte[] net_wm_name
        end local 1 // java.lang.String charSet
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lsun/awt/X11/XNETProtocol;
            5   16     1      charSet  Ljava/lang/String;
            6   16     2  net_wm_name  [B
      Exception table:
        from    to  target  type
          11    13      14  Class java.io.UnsupportedEncodingException

  public void setWMIcons(sun.awt.X11.XWindowPeer, java.util.List<sun.awt.IconInfo>);
    descriptor: (Lsun/awt/X11/XWindowPeer;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=15, args_size=3
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
        start local 2 // java.util.List icons
         0: .line 408
            aload 1 /* window */
            ifnonnull 1
            return
         1: .line 410
      StackMap locals:
      StackMap stack:
            ldc "_NET_WM_ICON"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            astore 3 /* iconsAtom */
        start local 3 // sun.awt.X11.XAtom iconsAtom
         2: .line 411
            aload 2 /* icons */
            ifnonnull 5
         3: .line 412
            aload 3 /* iconsAtom */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XAtom.DeleteProperty:(Lsun/awt/X11/XBaseWindow;)V
         4: .line 413
            return
         5: .line 416
      StackMap locals: sun.awt.X11.XAtom
      StackMap stack:
            iconst_0
            istore 4 /* length */
        start local 4 // int length
         6: .line 417
            aload 2 /* icons */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.awt.IconInfo
            astore 5 /* ii */
        start local 5 // sun.awt.IconInfo ii
         8: .line 418
            iload 4 /* length */
            aload 5 /* ii */
            invokevirtual sun.awt.IconInfo.getRawLength:()I
            iadd
            istore 4 /* length */
        end local 5 // sun.awt.IconInfo ii
         9: .line 417
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 420
            getstatic sun.awt.X11.XlibWrapper.dataModel:I
            bipush 32
            if_icmpne 11
            iconst_4
            goto 12
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int
      StackMap stack:
        11: bipush 8
      StackMap locals:
      StackMap stack: int
        12: istore 5 /* cardinalSize */
        start local 5 // int cardinalSize
        13: .line 421
            iload 4 /* length */
            iload 5 /* cardinalSize */
            imul
            istore 6 /* bufferSize */
        start local 6 // int bufferSize
        14: .line 423
            iload 6 /* bufferSize */
            ifeq 33
        15: .line 424
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            iload 6 /* bufferSize */
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            lstore 7 /* buffer */
        start local 7 // long buffer
        16: .line 426
            lload 7 /* buffer */
            lstore 9 /* ptr */
        start local 9 // long ptr
        17: .line 427
            aload 2 /* icons */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 25
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int int int long long top java.util.Iterator
      StackMap stack:
        18: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.awt.IconInfo
            astore 11 /* ii */
        start local 11 // sun.awt.IconInfo ii
        19: .line 428
            aload 11 /* ii */
            invokevirtual sun.awt.IconInfo.getRawLength:()I
            iload 5 /* cardinalSize */
            imul
            istore 13 /* size */
        start local 13 // int size
        20: .line 429
            getstatic sun.awt.X11.XlibWrapper.dataModel:I
            bipush 32
            if_icmpne 23
        21: .line 430
            lload 9 /* ptr */
            aload 11 /* ii */
            invokevirtual sun.awt.IconInfo.getIntData:()[I
            iload 13 /* size */
            invokestatic sun.awt.X11.XlibWrapper.copyIntArray:(JLjava/lang/Object;I)V
        22: .line 431
            goto 24
        23: .line 432
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int int int long long sun.awt.IconInfo java.util.Iterator int
      StackMap stack:
            lload 9 /* ptr */
            aload 11 /* ii */
            invokevirtual sun.awt.IconInfo.getLongData:()[J
            iload 13 /* size */
            invokestatic sun.awt.X11.XlibWrapper.copyLongArray:(JLjava/lang/Object;I)V
        24: .line 434
      StackMap locals:
      StackMap stack:
            lload 9 /* ptr */
            iload 13 /* size */
            i2l
            ladd
            lstore 9 /* ptr */
        end local 13 // int size
        end local 11 // sun.awt.IconInfo ii
        25: .line 427
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int int int long long top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        26: .line 436
            aload 3 /* iconsAtom */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getWindow:()J
            ldc 6
            lload 7 /* buffer */
            iload 6 /* bufferSize */
            invokestatic sun.awt.X11.Native.getCard32Size:()I
            idiv
            invokevirtual sun.awt.X11.XAtom.setAtomData:(JJJI)V
        end local 9 // long ptr
        27: .line 437
            goto 31
      StackMap locals: sun.awt.X11.XNETProtocol sun.awt.X11.XWindowPeer java.util.List sun.awt.X11.XAtom int int int long
      StackMap stack: java.lang.Throwable
        28: astore 14
        29: .line 438
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 7 /* buffer */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        30: .line 439
            aload 14
            athrow
        31: .line 438
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 7 /* buffer */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        end local 7 // long buffer
        32: .line 440
            goto 34
        33: .line 441
      StackMap locals:
      StackMap stack:
            aload 3 /* iconsAtom */
            aload 1 /* window */
            invokevirtual sun.awt.X11.XAtom.DeleteProperty:(Lsun/awt/X11/XBaseWindow;)V
        34: .line 443
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int bufferSize
        end local 5 // int cardinalSize
        end local 4 // int length
        end local 3 // sun.awt.X11.XAtom iconsAtom
        end local 2 // java.util.List icons
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0          this  Lsun/awt/X11/XNETProtocol;
            0   35     1        window  Lsun/awt/X11/XWindowPeer;
            0   35     2         icons  Ljava/util/List<Lsun/awt/IconInfo;>;
            2   35     3     iconsAtom  Lsun/awt/X11/XAtom;
            6   35     4        length  I
            8    9     5            ii  Lsun/awt/IconInfo;
           13   35     5  cardinalSize  I
           14   35     6    bufferSize  I
           16   32     7        buffer  J
           17   27     9           ptr  J
           19   25    11            ii  Lsun/awt/IconInfo;
           20   25    13          size  I
      Exception table:
        from    to  target  type
          16    28      28  any
    Signature: (Lsun/awt/X11/XWindowPeer;Ljava/util/List<Lsun/awt/IconInfo;>;)V
    MethodParameters:
        Name  Flags
      window  
      icons   

  public boolean isWMStateNetHidden(sun.awt.X11.XWindowPeer);
    descriptor: (Lsun/awt/X11/XWindowPeer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.X11.XNETProtocol this
        start local 1 // sun.awt.X11.XWindowPeer window
         0: .line 446
            aload 0 /* this */
            invokevirtual sun.awt.X11.XNETProtocol.doStateProtocol:()Z
            ifne 2
         1: .line 447
            iconst_0
            ireturn
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* window */
            invokevirtual sun.awt.X11.XWindowPeer.getNETWMState:()Lsun/awt/X11/XAtomList;
            astore 2 /* state */
        start local 2 // sun.awt.X11.XAtomList state
         3: .line 450
            aload 2 /* state */
            ifnull 4
            aload 2 /* state */
            invokevirtual sun.awt.X11.XAtomList.size:()I
            ifeq 4
            aload 2 /* state */
            aload 0 /* this */
            getfield sun.awt.X11.XNETProtocol.XA_NET_WM_STATE_HIDDEN:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtomList.contains:(Lsun/awt/X11/XAtom;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: sun.awt.X11.XAtomList
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // sun.awt.X11.XAtomList state
        end local 1 // sun.awt.X11.XWindowPeer window
        end local 0 // sun.awt.X11.XNETProtocol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/awt/X11/XNETProtocol;
            0    5     1  window  Lsun/awt/X11/XWindowPeer;
            3    5     2   state  Lsun/awt/X11/XAtomList;
    MethodParameters:
        Name  Flags
      window  
}
SourceFile: "XNETProtocol.java"
InnerClasses:
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger