public class sun.awt.X11.WindowPropertyGetter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.X11.WindowPropertyGetter
  super_class: java.lang.Object
{
  private static sun.misc.Unsafe unsafe;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final long actual_type;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long actual_format;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long nitems_ptr;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long bytes_after;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long data;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long window;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.awt.X11.XAtom property;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long offset;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long length;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean auto_delete;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long type;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean executed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  sun.awt.X11.UnsafeXDisposerRecord disposer;
    descriptor: Lsun/awt/X11/UnsafeXDisposerRecord;
    flags: (0x0000) 

  static java.util.Set<sun.awt.X11.XAtom> cacheableProperties;
    descriptor: Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Set<Lsun/awt/X11/XAtom;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 32
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            putstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
         1: .line 189
            new java.util.HashSet
            dup
            iconst_3
            anewarray sun.awt.X11.XAtom
            dup
            iconst_0
         2: .line 190
            ldc "_NET_WM_STATE"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            aastore
            dup
            iconst_1
            ldc "WM_STATE"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            aastore
            dup
            iconst_2
            ldc "_MOTIF_WM_HINTS"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            aastore
         3: .line 189
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic sun.awt.X11.WindowPropertyGetter.cacheableProperties:Ljava/util/Set;
         4: .line 190
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(long, sun.awt.X11.XAtom, long, long, boolean, long);
    descriptor: (JLsun/awt/X11/XAtom;JJZJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=11, args_size=7
        start local 0 // sun.awt.X11.WindowPropertyGetter this
        start local 1 // long window
        start local 3 // sun.awt.X11.XAtom property
        start local 4 // long offset
        start local 6 // long length
        start local 8 // boolean auto_delete
        start local 9 // long type
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            aload 0 /* this */
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            ldc 8
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            putfield sun.awt.X11.WindowPropertyGetter.actual_type:J
         2: .line 34
            aload 0 /* this */
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            ldc 4
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            putfield sun.awt.X11.WindowPropertyGetter.actual_format:J
         3: .line 35
            aload 0 /* this */
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            ldc 8
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            putfield sun.awt.X11.WindowPropertyGetter.nitems_ptr:J
         4: .line 36
            aload 0 /* this */
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            ldc 8
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            putfield sun.awt.X11.WindowPropertyGetter.bytes_after:J
         5: .line 37
            aload 0 /* this */
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            ldc 8
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            putfield sun.awt.X11.WindowPropertyGetter.data:J
         6: .line 44
            aload 0 /* this */
            iconst_0
            putfield sun.awt.X11.WindowPropertyGetter.executed:Z
         7: .line 48
            aload 3 /* property */
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lconst_0
            lcmp
            ifne 9
         8: .line 49
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Property ATOM should be initialized first:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 55
      StackMap locals: sun.awt.X11.WindowPropertyGetter long sun.awt.X11.XAtom long long int long
      StackMap stack:
            lload 1 /* window */
            lconst_0
            lcmp
            ifne 11
        10: .line 56
            new java.lang.IllegalArgumentException
            dup
            ldc "Window must not be zero"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* window */
            putfield sun.awt.X11.WindowPropertyGetter.window:J
        12: .line 59
            aload 0 /* this */
            aload 3 /* property */
            putfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
        13: .line 60
            aload 0 /* this */
            lload 4 /* offset */
            putfield sun.awt.X11.WindowPropertyGetter.offset:J
        14: .line 61
            aload 0 /* this */
            lload 6 /* length */
            putfield sun.awt.X11.WindowPropertyGetter.length:J
        15: .line 62
            aload 0 /* this */
            iload 8 /* auto_delete */
            putfield sun.awt.X11.WindowPropertyGetter.auto_delete:Z
        16: .line 63
            aload 0 /* this */
            lload 9 /* type */
            putfield sun.awt.X11.WindowPropertyGetter.type:J
        17: .line 65
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
            lconst_0
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
        18: .line 66
            aload 0 /* this */
            aload 0 /* this */
            new sun.awt.X11.UnsafeXDisposerRecord
            dup
            ldc "WindowPropertyGetter"
            iconst_4
            newarray 11
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_type:J
            lastore
            dup
            iconst_1
        19: .line 67
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_format:J
            lastore
            dup
            iconst_2
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.nitems_ptr:J
            lastore
            dup
            iconst_3
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.bytes_after:J
            lastore
            iconst_1
            newarray 11
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
            lastore
            invokespecial sun.awt.X11.UnsafeXDisposerRecord.<init>:(Ljava/lang/String;[J[J)V
        20: .line 66
            dup_x1
            putfield sun.awt.X11.WindowPropertyGetter.disposer:Lsun/awt/X11/UnsafeXDisposerRecord;
            invokestatic sun.java2d.Disposer.addRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
        21: .line 68
            return
        end local 9 // long type
        end local 8 // boolean auto_delete
        end local 6 // long length
        end local 4 // long offset
        end local 3 // sun.awt.X11.XAtom property
        end local 1 // long window
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lsun/awt/X11/WindowPropertyGetter;
            0   22     1       window  J
            0   22     3     property  Lsun/awt/X11/XAtom;
            0   22     4       offset  J
            0   22     6       length  J
            0   22     8  auto_delete  Z
            0   22     9         type  J
    MethodParameters:
             Name  Flags
      window       
      property     
      offset       
      length       
      auto_delete  
      type         

  public void <init>(long, sun.awt.X11.XAtom, long, long, boolean, sun.awt.X11.XAtom);
    descriptor: (JLsun/awt/X11/XAtom;JJZLsun/awt/X11/XAtom;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=7
        start local 0 // sun.awt.X11.WindowPropertyGetter this
        start local 1 // long window
        start local 3 // sun.awt.X11.XAtom property
        start local 4 // long offset
        start local 6 // long length
        start local 8 // boolean auto_delete
        start local 9 // sun.awt.X11.XAtom type
         0: .line 73
            aload 0 /* this */
            lload 1 /* window */
            aload 3 /* property */
            lload 4 /* offset */
            lload 6 /* length */
            iload 8 /* auto_delete */
            aload 9 /* type */
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
         1: .line 74
            return
        end local 9 // sun.awt.X11.XAtom type
        end local 8 // boolean auto_delete
        end local 6 // long length
        end local 4 // long offset
        end local 3 // sun.awt.X11.XAtom property
        end local 1 // long window
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/awt/X11/WindowPropertyGetter;
            0    2     1       window  J
            0    2     3     property  Lsun/awt/X11/XAtom;
            0    2     4       offset  J
            0    2     6       length  J
            0    2     8  auto_delete  Z
            0    2     9         type  Lsun/awt/X11/XAtom;
    MethodParameters:
             Name  Flags
      window       
      property     
      offset       
      length       
      auto_delete  
      type         

  public int execute();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 76
            aload 0 /* this */
            aconst_null
            invokevirtual sun.awt.X11.WindowPropertyGetter.execute:(Lsun/awt/X11/XErrorHandler;)I
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public int execute(sun.awt.X11.XErrorHandler);
    descriptor: (Lsun/awt/X11/XErrorHandler;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=24, locals=5, args_size=2
        start local 0 // sun.awt.X11.WindowPropertyGetter this
        start local 1 // sun.awt.X11.XErrorHandler errorHandler
         0: .line 80
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 82
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 3
         2: .line 83
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ifeq 5
         4: .line 86
            new java.lang.IllegalStateException
            dup
            ldc "Already executed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.awt.X11.WindowPropertyGetter.executed:Z
         6: .line 90
            invokestatic sun.awt.X11.WindowPropertyGetter.isCachingSupported:()Z
            ifeq 10
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isCached:()Z
            ifeq 10
         7: .line 91
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.readFromCache:()V
         8: .line 119
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         9: .line 92
            iconst_0
            ireturn
        10: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* errorHandler */
            instanceof sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler
            ifeq 12
        11: .line 98
            aconst_null
            astore 1 /* errorHandler */
        12: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* errorHandler */
            ifnull 14
        13: .line 102
            aload 1 /* errorHandler */
            invokestatic sun.awt.X11.XErrorHandlerUtil.WITH_XERROR_HANDLER:(Lsun/awt/X11/XErrorHandler;)V
        14: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
            lconst_0
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
        15: .line 105
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.window:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        16: .line 106
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.offset:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.length:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.auto_delete:Z
            ifeq 17
            iconst_1
            goto 18
      StackMap locals: sun.awt.X11.WindowPropertyGetter sun.awt.X11.XErrorHandler
      StackMap stack: long long long long long
        17: iconst_0
      StackMap locals: sun.awt.X11.WindowPropertyGetter sun.awt.X11.XErrorHandler
      StackMap stack: long long long long long int
        18: i2l
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.type:J
        19: .line 107
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_type:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_format:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.nitems_ptr:J
        20: .line 108
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.bytes_after:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
        21: .line 105
            invokestatic sun.awt.X11.XlibWrapper.XGetWindowProperty:(JJJJJJJJJJJJ)I
            istore 2 /* status */
        start local 2 // int status
        22: .line 109
            invokestatic sun.awt.X11.WindowPropertyGetter.isCachingSupported:()Z
            ifeq 24
            iload 2 /* status */
            ifne 24
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lconst_0
            lcmp
            ifeq 24
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
            invokestatic sun.awt.X11.WindowPropertyGetter.isCacheableProperty:(Lsun/awt/X11/XAtom;)Z
            ifeq 24
        23: .line 111
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.cacheProperty:()V
        24: .line 114
      StackMap locals: int
      StackMap stack:
            aload 1 /* errorHandler */
            ifnull 26
        25: .line 115
            invokestatic sun.awt.X11.XErrorHandlerUtil.RESTORE_XERROR_HANDLER:()V
        26: .line 117
      StackMap locals:
      StackMap stack:
            iload 2 /* status */
            istore 4
        27: .line 119
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        28: .line 117
            iload 4
            ireturn
        end local 2 // int status
        29: .line 118
      StackMap locals: sun.awt.X11.WindowPropertyGetter sun.awt.X11.XErrorHandler
      StackMap stack: java.lang.Throwable
            astore 3
        30: .line 119
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        31: .line 120
            aload 3
            athrow
        end local 1 // sun.awt.X11.XErrorHandler errorHandler
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0          this  Lsun/awt/X11/WindowPropertyGetter;
            0   32     1  errorHandler  Lsun/awt/X11/XErrorHandler;
           22   29     2        status  I
      Exception table:
        from    to  target  type
           1     8      29  any
          10    27      29  any
    MethodParameters:
              Name  Flags
      errorHandler  

  public boolean isExecuted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 124
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 128
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.disposer:Lsun/awt/X11/UnsafeXDisposerRecord;
            getfield sun.awt.X11.UnsafeXDisposerRecord.disposed:Z
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public int getActualFormat();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 132
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 133
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ifne 4
         3: .line 136
            new java.lang.IllegalStateException
            dup
            ldc "Not executed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 138
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_format:J
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public long getActualType();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 141
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 142
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ifne 4
         3: .line 145
            new java.lang.IllegalStateException
            dup
            ldc "Not executed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_type:J
            invokestatic sun.awt.X11.XAtom.getAtom:(J)J
            lreturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public int getNumberOfItems();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 150
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 151
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ifne 4
         3: .line 154
            new java.lang.IllegalStateException
            dup
            ldc "Not executed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.nitems_ptr:J
            invokestatic sun.awt.X11.Native.getLong:(J)J
            l2i
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public long getData();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 159
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 160
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
            invokestatic sun.awt.X11.Native.getLong:(J)J
            lreturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public long getBytesAfter();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 165
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 166
            new java.lang.IllegalStateException
            dup
            ldc "Disposed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.executed:Z
            ifne 4
         3: .line 169
            new java.lang.IllegalStateException
            dup
            ldc "Not executed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.bytes_after:J
            invokestatic sun.awt.X11.Native.getLong:(J)J
            lreturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/WindowPropertyGetter;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 174
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         1: .line 176
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 4
         2: .line 181
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         3: .line 177
            return
         4: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.disposer:Lsun/awt/X11/UnsafeXDisposerRecord;
            invokevirtual sun.awt.X11.UnsafeXDisposerRecord.dispose:()V
         5: .line 180
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 1
         7: .line 181
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         8: .line 182
            aload 1
            athrow
         9: .line 181
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        10: .line 183
            return
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/awt/X11/WindowPropertyGetter;
      Exception table:
        from    to  target  type
           1     2       6  any
           4     6       6  any

  static boolean isCachingSupported();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 186
            invokestatic sun.awt.X11.XPropertyCache.isCachingSupported:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean isCacheableProperty(sun.awt.X11.XAtom);
    descriptor: (Lsun/awt/X11/XAtom;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XAtom property
         0: .line 193
            getstatic sun.awt.X11.WindowPropertyGetter.cacheableProperties:Ljava/util/Set;
            aload 0 /* property */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // sun.awt.X11.XAtom property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  property  Lsun/awt/X11/XAtom;
    MethodParameters:
          Name  Flags
      property  

  boolean isCached();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 197
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.window:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
            invokestatic sun.awt.X11.XPropertyCache.isCached:(JLsun/awt/X11/XAtom;)Z
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/WindowPropertyGetter;

  int getDataLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 201
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 8
            idiv
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            imul
            ireturn
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/WindowPropertyGetter;

  void readFromCache();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 205
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_type:J
            invokevirtual sun.awt.X11.XAtom.putAtom:(J)V
         1: .line 206
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.window:J
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
            invokestatic sun.awt.X11.XPropertyCache.getCacheEntry:(JLsun/awt/X11/XAtom;)Lsun/awt/X11/XPropertyCache$PropertyCacheEntry;
            astore 1 /* entry */
        start local 1 // sun.awt.X11.XPropertyCache$PropertyCacheEntry entry
         2: .line 207
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.actual_format:J
            aload 1 /* entry */
            invokevirtual sun.awt.X11.XPropertyCache$PropertyCacheEntry.getFormat:()I
            invokestatic sun.awt.X11.Native.putInt:(JI)V
         3: .line 208
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.nitems_ptr:J
            aload 1 /* entry */
            invokevirtual sun.awt.X11.XPropertyCache$PropertyCacheEntry.getNumberOfItems:()I
            i2l
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
         4: .line 209
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.bytes_after:J
            aload 1 /* entry */
            invokevirtual sun.awt.X11.XPropertyCache$PropertyCacheEntry.getBytesAfter:()J
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
         5: .line 210
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.data:J
            getstatic sun.awt.X11.WindowPropertyGetter.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getDataLength:()I
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
         6: .line 211
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            aload 1 /* entry */
            invokevirtual sun.awt.X11.XPropertyCache$PropertyCacheEntry.getData:()J
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getDataLength:()I
            i2l
            invokestatic sun.awt.X11.XlibWrapper.memcpy:(JJJ)V
         7: .line 212
            return
        end local 1 // sun.awt.X11.XPropertyCache$PropertyCacheEntry entry
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/awt/X11/WindowPropertyGetter;
            2    8     1  entry  Lsun/awt/X11/XPropertyCache$PropertyCacheEntry;

  void cacheProperty();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter this
         0: .line 216
            new sun.awt.X11.XPropertyCache$PropertyCacheEntry
            dup
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
         1: .line 217
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
         2: .line 218
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getBytesAfter:()J
         3: .line 219
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
         4: .line 220
            aload 0 /* this */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getDataLength:()I
         5: .line 216
            invokespecial sun.awt.X11.XPropertyCache$PropertyCacheEntry.<init>:(IIJJI)V
         6: .line 221
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.window:J
         7: .line 222
            aload 0 /* this */
            getfield sun.awt.X11.WindowPropertyGetter.property:Lsun/awt/X11/XAtom;
         8: .line 215
            invokestatic sun.awt.X11.XPropertyCache.storeCache:(Lsun/awt/X11/XPropertyCache$PropertyCacheEntry;JLsun/awt/X11/XAtom;)V
         9: .line 223
            return
        end local 0 // sun.awt.X11.WindowPropertyGetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/awt/X11/WindowPropertyGetter;
}
SourceFile: "WindowPropertyGetter.java"
InnerClasses:
  public IgnoreBadWindowHandler = sun.awt.X11.XErrorHandler$IgnoreBadWindowHandler of sun.awt.X11.XErrorHandler
  PropertyCacheEntry = sun.awt.X11.XPropertyCache$PropertyCacheEntry of sun.awt.X11.XPropertyCache