final class sun.awt.X11.XSelection
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.awt.X11.XSelection
  super_class: java.lang.Object
{
  private static final java.util.Hashtable<sun.awt.X11.XAtom, sun.awt.X11.XSelection> table;
    descriptor: Ljava/util/Hashtable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Hashtable<Lsun/awt/X11/XAtom;Lsun/awt/X11/XSelection;>;

  private static final java.lang.Object lock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.awt.X11.XAtom selectionPropertyAtom;
    descriptor: Lsun/awt/X11/XAtom;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final long MAX_LENGTH;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000000

  public static final int MAX_PROPERTY_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final sun.awt.X11.XEventDispatcher incrementalTransferHandler;
    descriptor: Lsun/awt/X11/XEventDispatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static sun.awt.X11.WindowPropertyGetter propertyGetter;
    descriptor: Lsun/awt/X11/WindowPropertyGetter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private java.awt.datatransfer.Transferable contents;
    descriptor: Ljava/awt/datatransfer/Transferable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map formatMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private long[] formats;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.AppContext appContext;
    descriptor: Lsun/awt/AppContext;
    flags: (0x0002) ACC_PRIVATE

  private static long lastRequestServerTime;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private long ownershipTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

  private final java.lang.Object stateLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 48
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
         1: .line 50
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
         2: .line 52
            ldc "XAWT_SELECTION"
            invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
            putstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
         3: .line 61
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         4: .line 64
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            invokestatic sun.awt.X11.XlibWrapper.XMaxRequestSize:(J)J
            ldc 4
            lmul
            ldc 100
            lsub
            l2i
         5: .line 63
            putstatic sun.awt.X11.XSelection.MAX_PROPERTY_SIZE:I
         6: .line 65
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 0
         8: .line 66
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         9: .line 67
            aload 0
            athrow
        10: .line 66
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        11: .line 72
            new sun.awt.X11.XSelection$IncrementalTransferHandler
            dup
            invokespecial sun.awt.X11.XSelection$IncrementalTransferHandler.<init>:()V
        12: .line 71
            putstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
        13: .line 74
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        14: .line 106
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        15: .line 107
            new sun.awt.X11.XSelection$SelectionEventHandler
            dup
            invokespecial sun.awt.X11.XSelection$SelectionEventHandler.<init>:()V
        16: .line 106
            invokestatic sun.awt.X11.XToolkit.addEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
        17: .line 108
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           4     7       7  any

  static sun.awt.X11.XSelection getSelection(sun.awt.X11.XAtom);
    descriptor: (Lsun/awt/X11/XAtom;)Lsun/awt/X11/XSelection;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XAtom atom
         0: .line 115
            getstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
            aload 0 /* atom */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.X11.XSelection
            areturn
        end local 0 // sun.awt.X11.XAtom atom
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  atom  Lsun/awt/X11/XAtom;
    MethodParameters:
      Name  Flags
      atom  

  void <init>(sun.awt.X11.XAtom);
    descriptor: (Lsun/awt/X11/XAtom;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // sun.awt.X11.XAtom atom
         0: .line 124
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
         2: .line 90
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
         3: .line 92
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.formats:[J
         4: .line 94
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
         5: .line 99
            aload 0 /* this */
            lconst_0
            putfield sun.awt.X11.XSelection.ownershipTime:J
         6: .line 102
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.ownershipListener:Lsun/awt/X11/OwnershipListener;
         7: .line 103
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.awt.X11.XSelection.stateLock:Ljava/lang/Object;
         8: .line 125
            aload 1 /* atom */
            ifnonnull 10
         9: .line 126
            new java.lang.NullPointerException
            dup
            ldc "Null atom"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 128
      StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XAtom
      StackMap stack:
            aload 0 /* this */
            aload 1 /* atom */
            putfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
        11: .line 129
            getstatic sun.awt.X11.XSelection.table:Ljava/util/Hashtable;
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
            aload 0 /* this */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 130
            return
        end local 1 // sun.awt.X11.XAtom atom
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/awt/X11/XSelection;
            0   13     1  atom  Lsun/awt/X11/XAtom;
    MethodParameters:
      Name  Flags
      atom  

  public sun.awt.X11.XAtom getSelectionAtom();
    descriptor: ()Lsun/awt/X11/XAtom;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XSelection this
         0: .line 133
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
            areturn
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XSelection;

  synchronized boolean setOwner(java.awt.datatransfer.Transferable, java.util.Map, long[], long);
    descriptor: (Ljava/awt/datatransfer/Transferable;Ljava/util/Map;[JJ)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // java.awt.datatransfer.Transferable contents
        start local 2 // java.util.Map formatMap
        start local 3 // long[] formats
        start local 4 // long time
         0: .line 139
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
            lstore 6 /* owner */
        start local 6 // long owner
         1: .line 140
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lstore 8 /* selection */
        start local 8 // long selection
         2: .line 143
            lload 4 /* time */
            lconst_0
            lcmp
            ifne 4
         3: .line 144
            invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
            lstore 4 /* time */
         4: .line 147
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* contents */
            putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
         5: .line 148
            aload 0 /* this */
            aload 2 /* formatMap */
            putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
         6: .line 149
            aload 0 /* this */
            aload 3 /* formats */
            putfield sun.awt.X11.XSelection.formats:[J
         7: .line 150
            aload 0 /* this */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
         8: .line 151
            aload 0 /* this */
            lload 4 /* time */
            putfield sun.awt.X11.XSelection.ownershipTime:J
         9: .line 153
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        10: .line 155
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        11: .line 156
            lload 8 /* selection */
            lload 6 /* owner */
            lload 4 /* time */
        12: .line 155
            invokestatic sun.awt.X11.XlibWrapper.XSetSelectionOwner:(JJJJ)V
        13: .line 157
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        14: .line 158
            lload 8 /* selection */
        15: .line 157
            invokestatic sun.awt.X11.XlibWrapper.XGetSelectionOwner:(JJ)J
        16: .line 158
            lload 6 /* owner */
        17: .line 157
            lcmp
            ifeq 21
        18: .line 160
            aload 0 /* this */
            invokevirtual sun.awt.X11.XSelection.reset:()V
        19: .line 166
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        20: .line 161
            iconst_0
            ireturn
        21: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual sun.awt.X11.XSelection.setOwnerProp:(Z)V
        22: .line 166
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        23: .line 164
            iconst_1
            ireturn
        24: .line 165
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        25: .line 166
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        26: .line 167
            aload 10
            athrow
        end local 8 // long selection
        end local 6 // long owner
        end local 4 // long time
        end local 3 // long[] formats
        end local 2 // java.util.Map formatMap
        end local 1 // java.awt.datatransfer.Transferable contents
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lsun/awt/X11/XSelection;
            0   27     1   contents  Ljava/awt/datatransfer/Transferable;
            0   27     2  formatMap  Ljava/util/Map;
            0   27     3    formats  [J
            0   27     4       time  J
            1   27     6      owner  J
            2   27     8  selection  J
      Exception table:
        from    to  target  type
          10    19      24  any
          21    22      24  any
    MethodParameters:
           Name  Flags
      contents   
      formatMap  
      formats    
      time       

  private static void waitForSelectionNotify(sun.awt.X11.WindowPropertyGetter);
    descriptor: (Lsun/awt/X11/WindowPropertyGetter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter dataGetter
         0: .line 174
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* startTime */
        start local 1 // long startTime
         1: .line 175
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
         2: .line 178
      StackMap locals: long
      StackMap stack:
            invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
            invokevirtual sun.awt.datatransfer.DataTransferer.processDataConversionRequests:()V
         3: .line 179
            ldc 250
            invokestatic sun.awt.X11.XToolkit.awtLockWait:(J)V
         4: .line 180
            getstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
            aload 0 /* dataGetter */
            if_acmpne 10
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 1 /* startTime */
            invokestatic sun.awt.UNIXToolkit.getDatatransferTimeout:()I
            i2l
            ladd
         5: .line 177
            lcmp
            iflt 2
         6: .line 181
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
         8: .line 182
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
         9: .line 183
            aload 3
            athrow
        10: .line 182
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        11: .line 184
            return
        end local 1 // long startTime
        end local 0 // sun.awt.X11.WindowPropertyGetter dataGetter
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  dataGetter  Lsun/awt/X11/WindowPropertyGetter;
            1   12     1   startTime  J
      Exception table:
        from    to  target  type
           2     7       7  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
            Name  Flags
      dataGetter  

  public long[] getTargets(long);
    descriptor: (J)[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=10, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // long time
         0: .line 191
            invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
            ifeq 2
         1: .line 192
            new java.lang.Error
            dup
            ldc "UNIMPLEMENTED"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 195
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* targets */
        start local 3 // long[] targets
         3: .line 197
            getstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         4: .line 199
            new sun.awt.X11.WindowPropertyGetter
            dup
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
         5: .line 200
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            lconst_0
            ldc 1000000
         6: .line 201
            iconst_1
            lconst_0
         7: .line 199
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
         8: .line 198
            astore 5 /* targetsGetter */
        start local 5 // sun.awt.X11.WindowPropertyGetter targetsGetter
         9: .line 204
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        10: .line 206
            aload 5 /* targetsGetter */
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        11: .line 207
            lload 1 /* time */
            putstatic sun.awt.X11.XSelection.lastRequestServerTime:J
        12: .line 209
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        13: .line 210
            aload 0 /* this */
            invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        14: .line 211
            getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        15: .line 212
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        16: .line 213
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        17: .line 214
            lload 1 /* time */
        18: .line 209
            invokestatic sun.awt.X11.XlibWrapper.XConvertSelection:(JJJJJJ)V
        19: .line 219
            aload 5 /* targetsGetter */
            invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
        20: .line 220
            goto 31
      StackMap locals: sun.awt.X11.XSelection long long[] java.lang.Object sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.InterruptedException
        21: pop
        22: .line 221
            iconst_0
            newarray 11
            astore 7
        23: .line 223
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        24: .line 226
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        25: .line 230
            aload 5 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        26: .line 221
            aload 4
            monitorexit
        27: aload 7
            areturn
        28: .line 222
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        29: .line 223
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        30: .line 224
            aload 6
            athrow
        31: .line 223
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        32: .line 225
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 8
        34: .line 226
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        35: .line 227
            aload 8
            athrow
        36: .line 226
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        37: .line 228
            aload 5 /* targetsGetter */
            invokestatic sun.awt.X11.XSelection.getFormats:(Lsun/awt/X11/WindowPropertyGetter;)[J
            astore 3 /* targets */
        38: .line 229
            goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 9
        40: .line 230
            aload 5 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        41: .line 231
            aload 9
            athrow
        42: .line 230
      StackMap locals:
      StackMap stack:
            aload 5 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        end local 5 // sun.awt.X11.WindowPropertyGetter targetsGetter
        43: .line 197
            aload 4
            monitorexit
        44: goto 47
      StackMap locals: sun.awt.X11.XSelection long long[] java.lang.Object
      StackMap stack: java.lang.Throwable
        45: aload 4
            monitorexit
        46: athrow
        47: .line 233
      StackMap locals:
      StackMap stack:
            aload 3 /* targets */
            areturn
        end local 3 // long[] targets
        end local 1 // long time
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   48     0           this  Lsun/awt/X11/XSelection;
            0   48     1           time  J
            3   48     3        targets  [J
            9   43     5  targetsGetter  Lsun/awt/X11/WindowPropertyGetter;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.InterruptedException
          19    23      28  any
          10    24      33  any
          28    33      33  any
           9    25      39  any
          28    39      39  any
           4    27      45  any
          28    44      45  any
          45    46      45  any
    MethodParameters:
      Name  Flags
      time  

  static long[] getFormats(sun.awt.X11.WindowPropertyGetter);
    descriptor: (Lsun/awt/X11/WindowPropertyGetter;)[J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // sun.awt.X11.WindowPropertyGetter targetsGetter
         0: .line 237
            aconst_null
            astore 1 /* formats */
        start local 1 // long[] formats
         1: .line 239
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isExecuted:()Z
            ifeq 16
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifne 16
         2: .line 240
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
            ldc 4
            lcmp
            ifeq 4
         3: .line 241
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
            getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lcmp
            ifne 16
         4: .line 242
      StackMap locals: long[]
      StackMap stack:
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 32
            if_icmpne 16
         5: .line 246
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            istore 2 /* count */
        start local 2 // int count
         6: .line 247
            iload 2 /* count */
            ifle 16
         7: .line 248
            aload 0 /* targetsGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lstore 3 /* atoms */
        start local 3 // long atoms
         8: .line 249
            iload 2 /* count */
            newarray 11
            astore 1 /* formats */
         9: .line 250
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        10: goto 15
        11: .line 251
      StackMap locals: int long int
      StackMap stack:
            aload 1 /* formats */
            iload 5 /* index */
        12: .line 252
            lload 3 /* atoms */
            iload 5 /* index */
            invokestatic sun.awt.X11.XAtom.getAtomSize:()I
            imul
            i2l
            ladd
            invokestatic sun.awt.X11.Native.getLong:(J)J
        13: .line 251
            lastore
        14: .line 250
            iinc 5 /* index */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* index */
            iload 2 /* count */
            if_icmplt 11
        end local 5 // int index
        end local 3 // long atoms
        end local 2 // int count
        16: .line 257
      StackMap locals:
      StackMap stack:
            aload 1 /* formats */
            ifnull 17
            aload 1 /* formats */
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
            newarray 11
      StackMap locals:
      StackMap stack: long[]
        18: areturn
        end local 1 // long[] formats
        end local 0 // sun.awt.X11.WindowPropertyGetter targetsGetter
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0  targetsGetter  Lsun/awt/X11/WindowPropertyGetter;
            1   19     1        formats  [J
            6   16     2          count  I
            8   16     3          atoms  J
           10   16     5          index  I
    MethodParameters:
               Name  Flags
      targetsGetter  

  public byte[] getData(long, long);
    descriptor: (JJ)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=18, args_size=3
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // long format
        start local 3 // long time
         0: .line 265
            invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
            ifeq 2
         1: .line 266
            new java.lang.Error
            dup
            ldc "UNIMPLEMENTED"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 269
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* data */
        start local 5 // byte[] data
         3: .line 271
            getstatic sun.awt.X11.XSelection.lock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         4: .line 273
            new sun.awt.X11.WindowPropertyGetter
            dup
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
         5: .line 274
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            lconst_0
            ldc 1000000
         6: .line 275
            iconst_0
         7: .line 276
            lconst_0
         8: .line 273
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
         9: .line 272
            astore 7 /* dataGetter */
        start local 7 // sun.awt.X11.WindowPropertyGetter dataGetter
        10: .line 279
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        11: .line 281
            aload 7 /* dataGetter */
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        12: .line 282
            lload 3 /* time */
            putstatic sun.awt.X11.XSelection.lastRequestServerTime:J
        13: .line 284
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        14: .line 285
            aload 0 /* this */
            invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        15: .line 286
            lload 1 /* format */
        16: .line 287
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        17: .line 288
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        18: .line 289
            lload 3 /* time */
        19: .line 284
            invokestatic sun.awt.X11.XlibWrapper.XConvertSelection:(JJJJJJ)V
        20: .line 294
            aload 7 /* dataGetter */
            invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
        21: .line 295
            goto 32
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.InterruptedException
        22: pop
        23: .line 296
            iconst_0
            newarray 8
            astore 9
        24: .line 298
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        25: .line 301
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        26: .line 428
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        27: .line 296
            aload 6
            monitorexit
        28: aload 9
            areturn
        29: .line 297
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        30: .line 298
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        31: .line 299
            aload 8
            athrow
        32: .line 298
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        33: .line 300
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 10
        35: .line 301
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        36: .line 302
            aload 10
            athrow
        37: .line 301
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        38: .line 304
            aload 0 /* this */
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.XSelection.validateDataGetter:(Lsun/awt/X11/WindowPropertyGetter;)V
        39: .line 307
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
        40: .line 308
            getstatic sun.awt.X11.XDataTransferer.INCR_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        41: .line 307
            lcmp
            ifne 124
        42: .line 310
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 32
            if_icmpeq 46
        43: .line 311
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported INCR format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 312
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 311
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 315
      StackMap locals:
      StackMap stack:
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            istore 8 /* count */
        start local 8 // int count
        47: .line 317
            iload 8 /* count */
            ifgt 49
        48: .line 318
            new java.io.IOException
            dup
            ldc "INCR data is missed."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 321
      StackMap locals: int
      StackMap stack:
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lstore 9 /* ptr */
        start local 9 // long ptr
        50: .line 323
            iconst_0
            istore 11 /* len */
        start local 11 // int len
        51: .line 327
            lload 9 /* ptr */
            iload 8 /* count */
            iconst_1
            isub
            invokestatic sun.awt.X11.Native.getLong:(JI)J
            lstore 12 /* longLength */
        start local 12 // long longLength
        52: .line 329
            lload 12 /* longLength */
            lconst_0
            lcmp
            ifgt 57
        53: .line 330
            iconst_0
            newarray 8
            astore 17
        54: .line 428
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        55: .line 330
            aload 6
            monitorexit
        56: aload 17
            areturn
        57: .line 333
      StackMap locals: long int long
      StackMap stack:
            lload 12 /* longLength */
            ldc 2147483647
            lcmp
            ifle 61
        58: .line 334
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't handle large data block: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        59: .line 335
            lload 12 /* longLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        60: .line 334
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        61: .line 338
      StackMap locals:
      StackMap stack:
            lload 12 /* longLength */
            l2i
            istore 11 /* len */
        end local 12 // long longLength
        62: .line 341
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        63: .line 343
            new java.io.ByteArrayOutputStream
            dup
            iload 11 /* len */
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 12 /* dataStream */
        start local 12 // java.io.ByteArrayOutputStream dataStream
        64: .line 347
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter int long int java.io.ByteArrayOutputStream
      StackMap stack:
            new sun.awt.X11.WindowPropertyGetter
            dup
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        65: .line 348
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
        66: .line 349
            lconst_0
            ldc 1000000
            iconst_0
        67: .line 350
            lconst_0
        68: .line 347
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
        69: .line 346
            astore 13 /* incrDataGetter */
        start local 13 // sun.awt.X11.WindowPropertyGetter incrDataGetter
        70: .line 353
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        71: .line 354
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        72: .line 355
            getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
        73: .line 354
            invokestatic sun.awt.X11.XToolkit.addEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
        74: .line 357
            aload 13 /* incrDataGetter */
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        75: .line 360
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        76: .line 361
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        77: .line 362
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
        78: .line 360
            invokestatic sun.awt.X11.XlibWrapper.XDeleteProperty:(JJJ)V
        79: .line 367
            aload 13 /* incrDataGetter */
            invokestatic sun.awt.X11.XSelection.waitForSelectionNotify:(Lsun/awt/X11/WindowPropertyGetter;)V
        80: .line 368
            goto 96
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter int long int java.io.ByteArrayOutputStream sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.InterruptedException
        81: pop
        82: .line 371
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        83: .line 372
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        84: .line 373
            getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
        85: .line 372
            invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
        86: .line 374
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        87: .line 400
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        88: .line 369
            goto 151
        89: .line 370
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        90: .line 371
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        91: .line 372
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        92: .line 373
            getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
        93: .line 372
            invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
        94: .line 374
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        95: .line 375
            aload 14
            athrow
        96: .line 371
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic sun.awt.X11.XSelection.propertyGetter:Lsun/awt/X11/WindowPropertyGetter;
        97: .line 372
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
        98: .line 373
            getstatic sun.awt.X11.XSelection.incrementalTransferHandler:Lsun/awt/X11/XEventDispatcher;
        99: .line 372
            invokestatic sun.awt.X11.XToolkit.removeEventDispatcher:(JLsun/awt/X11/XEventDispatcher;)V
       100: .line 374
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
       101: .line 377
            aload 0 /* this */
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.XSelection.validateDataGetter:(Lsun/awt/X11/WindowPropertyGetter;)V
       102: .line 379
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 8
            if_icmpeq 106
       103: .line 380
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported data format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       104: .line 381
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 380
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       106: .line 384
      StackMap locals:
      StackMap stack:
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            istore 8 /* count */
       107: .line 386
            iload 8 /* count */
            ifne 110
       108: .line 400
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
       109: .line 387
            goto 151
       110: .line 390
      StackMap locals:
      StackMap stack:
            iload 8 /* count */
            ifle 117
       111: .line 391
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lstore 9 /* ptr */
       112: .line 392
            iconst_0
            istore 14 /* index */
        start local 14 // int index
       113: goto 116
       114: .line 393
      StackMap locals: int
      StackMap stack:
            aload 12 /* dataStream */
            lload 9 /* ptr */
            iload 14 /* index */
            i2l
            ladd
            invokestatic sun.awt.X11.Native.getByte:(J)B
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
       115: .line 392
            iinc 14 /* index */ 1
      StackMap locals:
      StackMap stack:
       116: iload 14 /* index */
            iload 8 /* count */
            if_icmplt 114
        end local 14 // int index
       117: .line 397
      StackMap locals:
      StackMap stack:
            aload 12 /* dataStream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 5 /* data */
       118: .line 399
            goto 122
      StackMap locals:
      StackMap stack: java.lang.Throwable
       119: astore 15
       120: .line 400
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
       121: .line 401
            aload 15
            athrow
       122: .line 400
      StackMap locals:
      StackMap stack:
            aload 13 /* incrDataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        end local 13 // sun.awt.X11.WindowPropertyGetter incrDataGetter
       123: .line 345
            goto 64
        end local 12 // java.io.ByteArrayOutputStream dataStream
        end local 11 // int len
        end local 9 // long ptr
        end local 8 // int count
       124: .line 404
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
       125: .line 406
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
       126: .line 407
            invokestatic sun.awt.X11.XWindow.getXAWTRootWindow:()Lsun/awt/X11/XRootWindow;
            invokevirtual sun.awt.X11.XRootWindow.getWindow:()J
       127: .line 408
            getstatic sun.awt.X11.XSelection.selectionPropertyAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
       128: .line 406
            invokestatic sun.awt.X11.XlibWrapper.XDeleteProperty:(JJJ)V
       129: .line 409
            goto 133
      StackMap locals:
      StackMap stack: java.lang.Throwable
       130: astore 8
       131: .line 410
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
       132: .line 411
            aload 8
            athrow
       133: .line 410
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
       134: .line 413
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 8
            if_icmpeq 138
       135: .line 414
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported data format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       136: .line 415
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       137: .line 414
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       138: .line 418
      StackMap locals:
      StackMap stack:
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            istore 8 /* count */
        start local 8 // int count
       139: .line 419
            iload 8 /* count */
            ifle 151
       140: .line 420
            iload 8 /* count */
            newarray 8
            astore 5 /* data */
       141: .line 421
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lstore 9 /* ptr */
        start local 9 // long ptr
       142: .line 422
            iconst_0
            istore 11 /* index */
        start local 11 // int index
       143: goto 146
       144: .line 423
      StackMap locals: int long int
      StackMap stack:
            aload 5 /* data */
            iload 11 /* index */
            lload 9 /* ptr */
            iload 11 /* index */
            i2l
            ladd
            invokestatic sun.awt.X11.Native.getByte:(J)B
            bastore
       145: .line 422
            iinc 11 /* index */ 1
      StackMap locals:
      StackMap stack:
       146: iload 11 /* index */
            iload 8 /* count */
            if_icmplt 144
        end local 11 // int index
        end local 9 // long ptr
        end local 8 // int count
       147: .line 427
            goto 151
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.Throwable
       148: astore 16
       149: .line 428
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
       150: .line 429
            aload 16
            athrow
       151: .line 428
      StackMap locals:
      StackMap stack:
            aload 7 /* dataGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        end local 7 // sun.awt.X11.WindowPropertyGetter dataGetter
       152: .line 271
            aload 6
            monitorexit
       153: goto 156
      StackMap locals: sun.awt.X11.XSelection long long byte[] java.lang.Object
      StackMap stack: java.lang.Throwable
       154: aload 6
            monitorexit
       155: athrow
       156: .line 432
      StackMap locals:
      StackMap stack:
            aload 5 /* data */
            ifnull 157
            aload 5 /* data */
            goto 158
      StackMap locals:
      StackMap stack:
       157: iconst_0
            newarray 8
      StackMap locals:
      StackMap stack: byte[]
       158: areturn
        end local 5 // byte[] data
        end local 3 // long time
        end local 1 // long format
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  159     0            this  Lsun/awt/X11/XSelection;
            0  159     1          format  J
            0  159     3            time  J
            3  159     5            data  [B
           10  152     7      dataGetter  Lsun/awt/X11/WindowPropertyGetter;
           47  124     8           count  I
           50  124     9             ptr  J
           51  124    11             len  I
           52   62    12      longLength  J
           64  124    12      dataStream  Ljava/io/ByteArrayOutputStream;
           70  123    13  incrDataGetter  Lsun/awt/X11/WindowPropertyGetter;
          113  117    14           index  I
          139  147     8           count  I
          142  147     9             ptr  J
          143  147    11           index  I
      Exception table:
        from    to  target  type
          20    21      22  Class java.lang.InterruptedException
          20    24      29  any
          11    25      34  any
          29    34      34  any
          75    80      81  Class java.lang.InterruptedException
          75    82      89  any
          70    87     119  any
          89   108     119  any
         110   119     119  any
         125   130     130  any
          10    26     148  any
          29    54     148  any
          57   148     148  any
           4    28     154  any
          29    56     154  any
          57   153     154  any
         154   155     154  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      format  
      time    

  private void validateDataGetter(sun.awt.X11.WindowPropertyGetter);
    descriptor: (Lsun/awt/X11/WindowPropertyGetter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // sun.awt.X11.WindowPropertyGetter propertyGetter
         0: .line 442
            aload 1 /* propertyGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isDisposed:()Z
            ifeq 2
         1: .line 443
            new java.io.IOException
            dup
            ldc "Owner failed to convert data"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* propertyGetter */
            invokevirtual sun.awt.X11.WindowPropertyGetter.isExecuted:()Z
            ifne 4
         3: .line 448
            new java.io.IOException
            dup
            ldc "Owner timed out"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 450
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.awt.X11.WindowPropertyGetter propertyGetter
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/awt/X11/XSelection;
            0    5     1  propertyGetter  Lsun/awt/X11/WindowPropertyGetter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      propertyGetter  

  boolean isOwner();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XSelection this
         0: .line 454
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.isOwner:Z
            ireturn
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/X11/XSelection;

  private void setOwnerProp(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // boolean f
         0: .line 459
            aload 0 /* this */
            iload 1 /* f */
            putfield sun.awt.X11.XSelection.isOwner:Z
         1: .line 460
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.isOwner:Z
            invokevirtual sun.awt.X11.XSelection.fireOwnershipChanges:(Z)V
         2: .line 461
            return
        end local 1 // boolean f
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/XSelection;
            0    3     1     f  Z
    MethodParameters:
      Name  Flags
      f     

  private void lostOwnership();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.X11.XSelection this
         0: .line 464
            aload 0 /* this */
            iconst_0
            invokevirtual sun.awt.X11.XSelection.setOwnerProp:(Z)V
         1: .line 465
            return
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XSelection;

  public synchronized void reset();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.XSelection this
         0: .line 468
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
         1: .line 469
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
         2: .line 470
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.formats:[J
         3: .line 471
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
         4: .line 472
            aload 0 /* this */
            lconst_0
            putfield sun.awt.X11.XSelection.ownershipTime:J
         5: .line 473
            return
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/X11/XSelection;

  private boolean convertAndStore(long, long, long);
    descriptor: (JJJ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=14, args_size=4
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // long requestor
        start local 3 // long format
        start local 5 // long property
         0: .line 479
            bipush 8
            istore 7 /* dataFormat */
        start local 7 // int dataFormat
         1: .line 480
            aconst_null
            astore 8 /* byteData */
        start local 8 // byte[] byteData
         2: .line 481
            lconst_0
            lstore 9 /* nativeDataPtr */
        start local 9 // long nativeDataPtr
         3: .line 482
            iconst_0
            istore 11 /* count */
        start local 11 // int count
         4: .line 485
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.appContext:Lsun/awt/AppContext;
            invokestatic sun.awt.SunToolkit.insertTargetMapping:(Ljava/lang/Object;Lsun/awt/AppContext;)V
         5: .line 487
            invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
            aload 0 /* this */
         6: .line 488
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.contents:Ljava/awt/datatransfer/Transferable;
         7: .line 489
            lload 3 /* format */
         8: .line 490
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.formatMap:Ljava/util/Map;
         9: .line 491
            invokestatic sun.awt.X11.XToolkit.isToolkitThread:()Z
        10: .line 487
            invokevirtual sun.awt.datatransfer.DataTransferer.convertData:(Ljava/lang/Object;Ljava/awt/datatransfer/Transferable;JLjava/util/Map;Z)[B
            astore 8 /* byteData */
        11: .line 492
            goto 14
      StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int
      StackMap stack: java.io.IOException
        12: pop
        13: .line 493
            iconst_0
            ireturn
        14: .line 496
      StackMap locals:
      StackMap stack:
            aload 8 /* byteData */
            ifnonnull 16
        15: .line 497
            iconst_0
            ireturn
        16: .line 500
      StackMap locals:
      StackMap stack:
            aload 8 /* byteData */
            arraylength
            istore 11 /* count */
        17: .line 503
            iload 11 /* count */
            ifle 30
        18: .line 504
            iload 11 /* count */
            getstatic sun.awt.X11.XSelection.MAX_PROPERTY_SIZE:I
            if_icmpgt 21
        19: .line 505
            aload 8 /* byteData */
            invokestatic sun.awt.X11.Native.toData:([B)J
            lstore 9 /* nativeDataPtr */
        20: .line 506
            goto 30
        21: .line 508
      StackMap locals:
      StackMap stack:
            new sun.awt.X11.XSelection$IncrementalDataProvider
            lload 1 /* requestor */
            lload 5 /* property */
            lload 3 /* format */
            bipush 8
        22: .line 509
            aload 8 /* byteData */
        23: .line 508
            invokespecial sun.awt.X11.XSelection$IncrementalDataProvider.<init>:(JJJI[B)V
        24: .line 512
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            invokestatic sun.awt.X11.XAtom.getAtomSize:()I
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
        25: .line 511
            lstore 9 /* nativeDataPtr */
        26: .line 514
            lload 9 /* nativeDataPtr */
            iload 11 /* count */
            i2l
            invokestatic sun.awt.X11.Native.putLong:(JJ)V
        27: .line 516
            getstatic sun.awt.X11.XDataTransferer.INCR_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lstore 3 /* format */
        28: .line 517
            bipush 32
            istore 7 /* dataFormat */
        29: .line 518
            iconst_1
            istore 11 /* count */
        30: .line 523
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        31: .line 525
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            lload 1 /* requestor */
            lload 5 /* property */
        32: .line 526
            lload 3 /* format */
            iload 7 /* dataFormat */
        33: .line 527
            iconst_0
        34: .line 528
            lload 9 /* nativeDataPtr */
            iload 11 /* count */
        35: .line 525
            invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
        36: .line 529
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 12
        38: .line 530
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        39: .line 531
            aload 12
            athrow
        40: .line 530
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        41: .line 532
            goto 47
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 13
        43: .line 533
            lload 9 /* nativeDataPtr */
            lconst_0
            lcmp
            ifeq 46
        44: .line 534
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 9 /* nativeDataPtr */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        45: .line 535
            lconst_0
            lstore 9 /* nativeDataPtr */
        46: .line 537
      StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int top java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        47: .line 533
      StackMap locals: sun.awt.X11.XSelection long long long int byte[] long int
      StackMap stack:
            lload 9 /* nativeDataPtr */
            lconst_0
            lcmp
            ifeq 50
        48: .line 534
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 9 /* nativeDataPtr */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        49: .line 535
            lconst_0
            lstore 9 /* nativeDataPtr */
        50: .line 539
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 11 // int count
        end local 9 // long nativeDataPtr
        end local 8 // byte[] byteData
        end local 7 // int dataFormat
        end local 5 // long property
        end local 3 // long format
        end local 1 // long requestor
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   51     0           this  Lsun/awt/X11/XSelection;
            0   51     1      requestor  J
            0   51     3         format  J
            0   51     5       property  J
            1   51     7     dataFormat  I
            2   51     8       byteData  [B
            3   51     9  nativeDataPtr  J
            4   51    11          count  I
      Exception table:
        from    to  target  type
           4    11      12  Class java.io.IOException
          31    37      37  any
          17    42      42  any
    MethodParameters:
           Name  Flags
      requestor  
      format     
      property   

  private void handleSelectionRequest(sun.awt.X11.XSelectionRequestEvent);
    descriptor: (Lsun/awt/X11/XSelectionRequestEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=14, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // sun.awt.X11.XSelectionRequestEvent xsre
         0: .line 543
            aload 1 /* xsre */
            invokevirtual sun.awt.X11.XSelectionRequestEvent.get_property:()J
            lstore 2 /* property */
        start local 2 // long property
         1: .line 544
            aload 1 /* xsre */
            invokevirtual sun.awt.X11.XSelectionRequestEvent.get_requestor:()J
            lstore 4 /* requestor */
        start local 4 // long requestor
         2: .line 545
            aload 1 /* xsre */
            invokevirtual sun.awt.X11.XSelectionRequestEvent.get_time:()J
            lstore 6 /* requestTime */
        start local 6 // long requestTime
         3: .line 546
            aload 1 /* xsre */
            invokevirtual sun.awt.X11.XSelectionRequestEvent.get_target:()J
            lstore 8 /* format */
        start local 8 // long format
         4: .line 547
            iconst_0
            istore 10 /* conversionSucceeded */
        start local 10 // boolean conversionSucceeded
         5: .line 549
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.ownershipTime:J
            lconst_0
            lcmp
            ifeq 16
         6: .line 550
            lload 6 /* requestTime */
            lconst_0
            lcmp
            ifeq 7
            lload 6 /* requestTime */
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.ownershipTime:J
            lcmp
            iflt 16
         7: .line 553
      StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int
      StackMap stack:
            lload 8 /* format */
            getstatic sun.awt.X11.XDataTransferer.MULTIPLE_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lcmp
            ifne 10
         8: .line 554
            aload 0 /* this */
            lload 4 /* requestor */
            lload 2 /* property */
            invokevirtual sun.awt.X11.XSelection.handleMultipleRequest:(JJ)Z
            istore 10 /* conversionSucceeded */
         9: .line 555
            goto 16
        10: .line 557
      StackMap locals:
      StackMap stack:
            lload 2 /* property */
            lconst_0
            lcmp
            ifne 12
        11: .line 558
            lload 8 /* format */
            lstore 2 /* property */
        12: .line 561
      StackMap locals:
      StackMap stack:
            lload 8 /* format */
            getstatic sun.awt.X11.XDataTransferer.TARGETS_ATOM:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            lcmp
            ifne 15
        13: .line 562
            aload 0 /* this */
            lload 2 /* property */
            lload 4 /* requestor */
            invokevirtual sun.awt.X11.XSelection.handleTargetsRequest:(JJ)Z
            istore 10 /* conversionSucceeded */
        14: .line 563
            goto 16
        15: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* requestor */
            lload 8 /* format */
            lload 2 /* property */
            invokevirtual sun.awt.X11.XSelection.convertAndStore:(JJJ)Z
            istore 10 /* conversionSucceeded */
        16: .line 569
      StackMap locals:
      StackMap stack:
            iload 10 /* conversionSucceeded */
            ifne 18
        17: .line 571
            lconst_0
            lstore 2 /* property */
        18: .line 574
      StackMap locals:
      StackMap stack:
            new sun.awt.X11.XSelectionEvent
            dup
            invokespecial sun.awt.X11.XSelectionEvent.<init>:()V
            astore 11 /* xse */
        start local 11 // sun.awt.X11.XSelectionEvent xse
        19: .line 576
            aload 11 /* xse */
            bipush 31
            invokevirtual sun.awt.X11.XSelectionEvent.set_type:(I)V
        20: .line 577
            aload 11 /* xse */
            iconst_1
            invokevirtual sun.awt.X11.XSelectionEvent.set_send_event:(Z)V
        21: .line 578
            aload 11 /* xse */
            lload 4 /* requestor */
            invokevirtual sun.awt.X11.XSelectionEvent.set_requestor:(J)V
        22: .line 579
            aload 11 /* xse */
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.selectionAtom:Lsun/awt/X11/XAtom;
            invokevirtual sun.awt.X11.XAtom.getAtom:()J
            invokevirtual sun.awt.X11.XSelectionEvent.set_selection:(J)V
        23: .line 580
            aload 11 /* xse */
            lload 8 /* format */
            invokevirtual sun.awt.X11.XSelectionEvent.set_target:(J)V
        24: .line 581
            aload 11 /* xse */
            lload 2 /* property */
            invokevirtual sun.awt.X11.XSelectionEvent.set_property:(J)V
        25: .line 582
            aload 11 /* xse */
            lload 6 /* requestTime */
            invokevirtual sun.awt.X11.XSelectionEvent.set_time:(J)V
        26: .line 584
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        27: .line 586
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            lload 4 /* requestor */
            iconst_0
        28: .line 587
            lconst_0
            aload 11 /* xse */
            getfield sun.awt.X11.XSelectionEvent.pData:J
        29: .line 586
            invokestatic sun.awt.X11.XlibWrapper.XSendEvent:(JJZJJ)I
            pop
        30: .line 588
            goto 34
      StackMap locals: sun.awt.X11.XSelection sun.awt.X11.XSelectionRequestEvent long long long long int sun.awt.X11.XSelectionEvent
      StackMap stack: java.lang.Throwable
        31: astore 12
        32: .line 589
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        33: .line 590
            aload 12
            athrow
        34: .line 589
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        35: .line 591
            goto 39
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 13
        37: .line 592
            aload 11 /* xse */
            invokevirtual sun.awt.X11.XSelectionEvent.dispose:()V
        38: .line 593
            aload 13
            athrow
        39: .line 592
      StackMap locals:
      StackMap stack:
            aload 11 /* xse */
            invokevirtual sun.awt.X11.XSelectionEvent.dispose:()V
        40: .line 594
            return
        end local 11 // sun.awt.X11.XSelectionEvent xse
        end local 10 // boolean conversionSucceeded
        end local 8 // long format
        end local 6 // long requestTime
        end local 4 // long requestor
        end local 2 // long property
        end local 1 // sun.awt.X11.XSelectionRequestEvent xsre
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   41     0                 this  Lsun/awt/X11/XSelection;
            0   41     1                 xsre  Lsun/awt/X11/XSelectionRequestEvent;
            1   41     2             property  J
            2   41     4            requestor  J
            3   41     6          requestTime  J
            4   41     8               format  J
            5   41    10  conversionSucceeded  Z
           19   41    11                  xse  Lsun/awt/X11/XSelectionEvent;
      Exception table:
        from    to  target  type
          27    31      31  any
          19    36      36  any
    MethodParameters:
      Name  Flags
      xsre  

  private boolean handleMultipleRequest(long, long);
    descriptor: (JJ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=18, args_size=3
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // long requestor
        start local 3 // long property
         0: .line 597
            lconst_0
            lload 3 /* property */
            lcmp
            ifne 2
         1: .line 599
            iconst_0
            ireturn
         2: .line 602
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* conversionSucceeded */
        start local 5 // boolean conversionSucceeded
         3: .line 606
            new sun.awt.X11.WindowPropertyGetter
            dup
            lload 1 /* requestor */
            lload 3 /* property */
            invokestatic sun.awt.X11.XAtom.get:(J)Lsun/awt/X11/XAtom;
         4: .line 607
            lconst_0
            ldc 1000000
            iconst_0
         5: .line 608
            lconst_0
         6: .line 606
            invokespecial sun.awt.X11.WindowPropertyGetter.<init>:(JLsun/awt/X11/XAtom;JJZJ)V
         7: .line 605
            astore 6 /* wpg */
        start local 6 // sun.awt.X11.WindowPropertyGetter wpg
         8: .line 610
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.execute:()I
            pop
         9: .line 612
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
            bipush 32
            if_icmpne 43
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            iconst_2
            irem
            ifne 43
        10: .line 613
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
            iconst_2
            idiv
            i2l
            lstore 7 /* count */
        start local 7 // long count
        11: .line 614
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
            lstore 9 /* pairsPtr */
        start local 9 // long pairsPtr
        12: .line 615
            iconst_0
            istore 11 /* writeBack */
        start local 11 // boolean writeBack
        13: .line 617
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        14: goto 21
        15: .line 618
      StackMap locals: sun.awt.X11.XSelection long long int sun.awt.X11.WindowPropertyGetter long long int int
      StackMap stack:
            lload 9 /* pairsPtr */
            iconst_2
            iload 12 /* i */
            imul
            invokestatic sun.awt.X11.Native.getLong:(JI)J
            lstore 13 /* target */
        start local 13 // long target
        16: .line 619
            lload 9 /* pairsPtr */
            iconst_2
            iload 12 /* i */
            imul
            iconst_1
            iadd
            invokestatic sun.awt.X11.Native.getLong:(JI)J
            lstore 15 /* prop */
        start local 15 // long prop
        17: .line 621
            aload 0 /* this */
            lload 1 /* requestor */
            lload 13 /* target */
            lload 15 /* prop */
            invokevirtual sun.awt.X11.XSelection.convertAndStore:(JJJ)Z
            ifne 20
        18: .line 624
            lload 9 /* pairsPtr */
            iconst_2
            iload 12 /* i */
            imul
            lconst_0
            invokestatic sun.awt.X11.Native.putLong:(JIJ)V
        19: .line 625
            iconst_1
            istore 11 /* writeBack */
        end local 15 // long prop
        end local 13 // long target
        20: .line 617
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 12 /* i */
            i2l
            lload 7 /* count */
            lcmp
            iflt 15
        end local 12 // int i
        22: .line 628
            iload 11 /* writeBack */
            ifeq 38
        23: .line 629
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        24: .line 631
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
        25: .line 632
            lload 1 /* requestor */
        26: .line 633
            lload 3 /* property */
        27: .line 634
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualType:()J
        28: .line 635
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getActualFormat:()I
        29: .line 636
            iconst_0
        30: .line 637
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getData:()J
        31: .line 638
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.getNumberOfItems:()I
        32: .line 631
            invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
        33: .line 639
            goto 37
      StackMap locals: sun.awt.X11.XSelection long long int sun.awt.X11.WindowPropertyGetter long long int
      StackMap stack: java.lang.Throwable
        34: astore 12
        35: .line 640
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        36: .line 641
            aload 12
            athrow
        37: .line 640
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        38: .line 643
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* conversionSucceeded */
        end local 11 // boolean writeBack
        end local 9 // long pairsPtr
        end local 7 // long count
        39: .line 645
            goto 43
      StackMap locals: sun.awt.X11.XSelection long long int sun.awt.X11.WindowPropertyGetter
      StackMap stack: java.lang.Throwable
        40: astore 17
        41: .line 646
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        42: .line 647
            aload 17
            athrow
        43: .line 646
      StackMap locals:
      StackMap stack:
            aload 6 /* wpg */
            invokevirtual sun.awt.X11.WindowPropertyGetter.dispose:()V
        44: .line 649
            iload 5 /* conversionSucceeded */
            ireturn
        end local 6 // sun.awt.X11.WindowPropertyGetter wpg
        end local 5 // boolean conversionSucceeded
        end local 3 // long property
        end local 1 // long requestor
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   45     0                 this  Lsun/awt/X11/XSelection;
            0   45     1            requestor  J
            0   45     3             property  J
            3   45     5  conversionSucceeded  Z
            8   45     6                  wpg  Lsun/awt/X11/WindowPropertyGetter;
           11   39     7                count  J
           12   39     9             pairsPtr  J
           13   39    11            writeBack  Z
           14   22    12                    i  I
           16   20    13               target  J
           17   20    15                 prop  J
      Exception table:
        from    to  target  type
          24    34      34  any
           8    40      40  any
    MethodParameters:
           Name  Flags
      requestor  final
      property   

  private boolean handleTargetsRequest(long, long);
    descriptor: (JJ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=12, args_size=3
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // long property
        start local 3 // long requestor
         0: .line 655
            iconst_0
            istore 5 /* conversionSucceeded */
        start local 5 // boolean conversionSucceeded
         1: .line 657
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.formats:[J
            astore 6 /* formatsLocal */
        start local 6 // long[] formatsLocal
         2: .line 659
            aload 6 /* formatsLocal */
            ifnonnull 4
         3: .line 660
            new java.lang.IllegalStateException
            dup
            ldc "Not an owner."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 663
      StackMap locals: int long[]
      StackMap stack:
            lconst_0
            lstore 7 /* nativeDataPtr */
        start local 7 // long nativeDataPtr
         5: .line 666
            aload 6 /* formatsLocal */
            arraylength
            istore 9 /* count */
        start local 9 // int count
         6: .line 669
            iload 9 /* count */
            ifle 9
         7: .line 670
            iload 9 /* count */
            invokestatic sun.awt.X11.Native.allocateLongArray:(I)J
            lstore 7 /* nativeDataPtr */
         8: .line 671
            lload 7 /* nativeDataPtr */
            aload 6 /* formatsLocal */
            invokestatic sun.awt.X11.Native.put:(J[J)V
         9: .line 674
      StackMap locals: long int
      StackMap stack:
            iconst_1
            istore 5 /* conversionSucceeded */
        10: .line 676
            invokestatic sun.awt.X11.XToolkit.awtLock:()V
        11: .line 678
            invokestatic sun.awt.X11.XToolkit.getDisplay:()J
            lload 3 /* requestor */
        12: .line 679
            lload 1 /* property */
            ldc 4
            bipush 32
        13: .line 680
            iconst_0
        14: .line 681
            lload 7 /* nativeDataPtr */
            iload 9 /* count */
        15: .line 678
            invokestatic sun.awt.X11.XlibWrapper.XChangeProperty:(JJJJIIJI)V
        16: .line 682
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 10
        18: .line 683
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        19: .line 684
            aload 10
            athrow
        20: .line 683
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.X11.XToolkit.awtUnlock:()V
        end local 9 // int count
        21: .line 685
            goto 27
      StackMap locals: sun.awt.X11.XSelection long long int long[] long
      StackMap stack: java.lang.Throwable
        22: astore 11
        23: .line 686
            lload 7 /* nativeDataPtr */
            lconst_0
            lcmp
            ifeq 26
        24: .line 687
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 7 /* nativeDataPtr */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        25: .line 688
            lconst_0
            lstore 7 /* nativeDataPtr */
        26: .line 690
      StackMap locals: sun.awt.X11.XSelection long long int long[] long top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        27: .line 686
      StackMap locals: sun.awt.X11.XSelection long long int long[] long
      StackMap stack:
            lload 7 /* nativeDataPtr */
            lconst_0
            lcmp
            ifeq 30
        28: .line 687
            getstatic sun.awt.X11.XlibWrapper.unsafe:Lsun/misc/Unsafe;
            lload 7 /* nativeDataPtr */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        29: .line 688
            lconst_0
            lstore 7 /* nativeDataPtr */
        30: .line 691
      StackMap locals:
      StackMap stack:
            iload 5 /* conversionSucceeded */
            ireturn
        end local 7 // long nativeDataPtr
        end local 6 // long[] formatsLocal
        end local 5 // boolean conversionSucceeded
        end local 3 // long requestor
        end local 1 // long property
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lsun/awt/X11/XSelection;
            0   31     1             property  J
            0   31     3            requestor  J
            1   31     5  conversionSucceeded  Z
            2   31     6         formatsLocal  [J
            5   31     7        nativeDataPtr  J
            6   21     9                count  I
      Exception table:
        from    to  target  type
          11    17      17  any
           5    22      22  any
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
           Name  Flags
      property   
      requestor  

  private void fireOwnershipChanges(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // boolean isOwner
         0: .line 695
            aconst_null
            astore 2 /* l */
        start local 2 // sun.awt.X11.OwnershipListener l
         1: .line 696
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 697
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.ownershipListener:Lsun/awt/X11/OwnershipListener;
            astore 2 /* l */
         3: .line 696
            aload 3
            monitorexit
         4: goto 7
      StackMap locals: sun.awt.X11.XSelection int sun.awt.X11.OwnershipListener java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
         7: .line 699
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            ifnull 9
         8: .line 700
            aload 2 /* l */
            iload 1 /* isOwner */
            invokeinterface sun.awt.X11.OwnershipListener.ownershipChanged:(Z)V
         9: .line 702
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.awt.X11.OwnershipListener l
        end local 1 // boolean isOwner
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/awt/X11/XSelection;
            0   10     1  isOwner  Z
            1   10     2        l  Lsun/awt/X11/OwnershipListener;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    MethodParameters:
         Name  Flags
      isOwner  final

  void registerOwershipListener(sun.awt.X11.OwnershipListener);
    descriptor: (Lsun/awt/X11/OwnershipListener;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.X11.XSelection this
        start local 1 // sun.awt.X11.OwnershipListener l
         0: .line 705
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 706
            aload 0 /* this */
            aload 1 /* l */
            putfield sun.awt.X11.XSelection.ownershipListener:Lsun/awt/X11/OwnershipListener;
         2: .line 705
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: sun.awt.X11.XSelection sun.awt.X11.OwnershipListener java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 708
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.awt.X11.OwnershipListener l
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/X11/XSelection;
            0    7     1     l  Lsun/awt/X11/OwnershipListener;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      l     

  void unregisterOwnershipListener();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XSelection this
         0: .line 711
            aload 0 /* this */
            getfield sun.awt.X11.XSelection.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 712
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.XSelection.ownershipListener:Lsun/awt/X11/OwnershipListener;
         2: .line 711
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: sun.awt.X11.XSelection java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 714
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.X11.XSelection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/X11/XSelection;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
}
SourceFile: "XSelection.java"
NestMembers:
  sun.awt.X11.XSelection$IncrementalDataProvider  sun.awt.X11.XSelection$IncrementalTransferHandler  sun.awt.X11.XSelection$SelectionEventHandler
InnerClasses:
  private IncrementalDataProvider = sun.awt.X11.XSelection$IncrementalDataProvider of sun.awt.X11.XSelection
  private IncrementalTransferHandler = sun.awt.X11.XSelection$IncrementalTransferHandler of sun.awt.X11.XSelection
  private SelectionEventHandler = sun.awt.X11.XSelection$SelectionEventHandler of sun.awt.X11.XSelection