public class sun.awt.datatransfer.ClipboardTransferable implements java.awt.datatransfer.Transferable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.datatransfer.ClipboardTransferable
  super_class: java.lang.Object
{
  private final java.util.HashMap flavorsToData;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.awt.datatransfer.DataFlavor[] flavors;
    descriptor: [Ljava/awt/datatransfer/DataFlavor;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(sun.awt.datatransfer.SunClipboard);
    descriptor: (Lsun/awt/datatransfer/SunClipboard;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // sun.awt.datatransfer.ClipboardTransferable this
        start local 1 // sun.awt.datatransfer.SunClipboard clipboard
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
         2: .line 59
            aload 0 /* this */
            iconst_0
            anewarray java.awt.datatransfer.DataFlavor
            putfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
         3: .line 78
            aload 1 /* clipboard */
            aconst_null
            invokevirtual sun.awt.datatransfer.SunClipboard.openClipboard:(Lsun/awt/datatransfer/SunClipboard;)V
         4: .line 81
            aload 1 /* clipboard */
            invokevirtual sun.awt.datatransfer.SunClipboard.getClipboardFormats:()[J
            astore 2 /* formats */
        start local 2 // long[] formats
         5: .line 83
            aload 2 /* formats */
            ifnull 23
            aload 2 /* formats */
            arraylength
            ifle 23
         6: .line 87
            new java.util.HashMap
            dup
            aload 2 /* formats */
            arraylength
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
            astore 3 /* cached_data */
        start local 3 // java.util.HashMap cached_data
         7: .line 89
            invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
         8: .line 90
            aload 2 /* formats */
            invokestatic sun.awt.datatransfer.SunClipboard.getDefaultFlavorTable:()Ljava/awt/datatransfer/FlavorTable;
            invokevirtual sun.awt.datatransfer.DataTransferer.getFlavorsForFormats:([JLjava/awt/datatransfer/FlavorTable;)Ljava/util/Map;
         9: .line 89
            astore 4 /* flavorsForFormats */
        start local 4 // java.util.Map flavorsForFormats
        10: .line 91
            aload 4 /* flavorsForFormats */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
        11: .line 92
            goto 15
        12: .line 94
      StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard long[] java.util.HashMap java.util.Map java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.awt.datatransfer.DataFlavor
            astore 6 /* flavor */
        start local 6 // java.awt.datatransfer.DataFlavor flavor
        13: .line 95
            aload 4 /* flavorsForFormats */
            aload 6 /* flavor */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 7 /* lFormat */
        start local 7 // java.lang.Long lFormat
        14: .line 97
            aload 0 /* this */
            aload 1 /* clipboard */
            aload 6 /* flavor */
            aload 7 /* lFormat */
            aload 3 /* cached_data */
            invokevirtual sun.awt.datatransfer.ClipboardTransferable.fetchOneFlavor:(Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Long;Ljava/util/HashMap;)Z
            pop
        end local 7 // java.lang.Long lFormat
        end local 6 // java.awt.datatransfer.DataFlavor flavor
        15: .line 92
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 5 // java.util.Iterator iter
        16: .line 100
            aload 0 /* this */
            invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
            pop
        17: .line 101
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokestatic sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray:(Ljava/util/Set;)[Ljava/awt/datatransfer/DataFlavor;
        18: .line 100
            putfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
        end local 4 // java.util.Map flavorsForFormats
        end local 3 // java.util.HashMap cached_data
        end local 2 // long[] formats
        19: .line 103
            goto 23
      StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard
      StackMap stack: java.lang.Throwable
        20: astore 8
        21: .line 104
            aload 1 /* clipboard */
            invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
        22: .line 105
            aload 8
            athrow
        23: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* clipboard */
            invokevirtual sun.awt.datatransfer.SunClipboard.closeClipboard:()V
        24: .line 106
            return
        end local 1 // sun.awt.datatransfer.SunClipboard clipboard
        end local 0 // sun.awt.datatransfer.ClipboardTransferable this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lsun/awt/datatransfer/ClipboardTransferable;
            0   25     1          clipboard  Lsun/awt/datatransfer/SunClipboard;
            5   19     2            formats  [J
            7   19     3        cached_data  Ljava/util/HashMap;
           10   19     4  flavorsForFormats  Ljava/util/Map;
           11   16     5               iter  Ljava/util/Iterator;
           13   15     6             flavor  Ljava/awt/datatransfer/DataFlavor;
           14   15     7            lFormat  Ljava/lang/Long;
      Exception table:
        from    to  target  type
           4    20      20  any
    MethodParameters:
           Name  Flags
      clipboard  

  private boolean fetchOneFlavor(sun.awt.datatransfer.SunClipboard, java.awt.datatransfer.DataFlavor, java.lang.Long, java.util.HashMap);
    descriptor: (Lsun/awt/datatransfer/SunClipboard;Ljava/awt/datatransfer/DataFlavor;Ljava/lang/Long;Ljava/util/HashMap;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // sun.awt.datatransfer.ClipboardTransferable this
        start local 1 // sun.awt.datatransfer.SunClipboard clipboard
        start local 2 // java.awt.datatransfer.DataFlavor flavor
        start local 3 // java.lang.Long lFormat
        start local 4 // java.util.HashMap cached_data
         0: .line 111
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            aload 2 /* flavor */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 22
         1: .line 112
            aload 3 /* lFormat */
            invokevirtual java.lang.Long.longValue:()J
            lstore 5 /* format */
        start local 5 // long format
         2: .line 113
            aconst_null
            astore 7 /* data */
        start local 7 // java.lang.Object data
         3: .line 115
            aload 4 /* cached_data */
            aload 3 /* lFormat */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 13
         4: .line 117
            aload 1 /* clipboard */
            lload 5 /* format */
            invokevirtual sun.awt.datatransfer.SunClipboard.getClipboardData:(J)[B
            astore 7 /* data */
         5: .line 118
            goto 11
      StackMap locals: sun.awt.datatransfer.ClipboardTransferable sun.awt.datatransfer.SunClipboard java.awt.datatransfer.DataFlavor java.lang.Long java.util.HashMap long java.lang.Object
      StackMap stack: java.io.IOException
         6: astore 8 /* e */
        start local 8 // java.io.IOException e
         7: .line 119
            aload 8 /* e */
            astore 7 /* data */
        end local 8 // java.io.IOException e
         8: goto 11
         9: .line 120
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* e */
        start local 8 // java.lang.Throwable e
        10: .line 121
            aload 8 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        end local 8 // java.lang.Throwable e
        11: .line 126
      StackMap locals:
      StackMap stack:
            aload 4 /* cached_data */
            aload 3 /* lFormat */
            aload 7 /* data */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 127
            goto 14
        13: .line 128
      StackMap locals:
      StackMap stack:
            aload 4 /* cached_data */
            aload 3 /* lFormat */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* data */
        14: .line 134
      StackMap locals:
      StackMap stack:
            aload 7 /* data */
            instanceof java.io.IOException
            ifeq 17
        15: .line 135
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            aload 2 /* flavor */
            aload 7 /* data */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 136
            iconst_0
            ireturn
        17: .line 137
      StackMap locals:
      StackMap stack:
            aload 7 /* data */
            ifnull 22
        18: .line 138
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            aload 2 /* flavor */
            new sun.awt.datatransfer.ClipboardTransferable$DataFactory
            dup
            aload 0 /* this */
            lload 5 /* format */
        19: .line 139
            aload 7 /* data */
            checkcast byte[]
            invokespecial sun.awt.datatransfer.ClipboardTransferable$DataFactory.<init>:(Lsun/awt/datatransfer/ClipboardTransferable;J[B)V
        20: .line 138
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 140
            iconst_1
            ireturn
        end local 7 // java.lang.Object data
        end local 5 // long format
        22: .line 144
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.util.HashMap cached_data
        end local 3 // java.lang.Long lFormat
        end local 2 // java.awt.datatransfer.DataFlavor flavor
        end local 1 // sun.awt.datatransfer.SunClipboard clipboard
        end local 0 // sun.awt.datatransfer.ClipboardTransferable this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lsun/awt/datatransfer/ClipboardTransferable;
            0   23     1    clipboard  Lsun/awt/datatransfer/SunClipboard;
            0   23     2       flavor  Ljava/awt/datatransfer/DataFlavor;
            0   23     3      lFormat  Ljava/lang/Long;
            0   23     4  cached_data  Ljava/util/HashMap;
            2   22     5       format  J
            3   22     7         data  Ljava/lang/Object;
            7    8     8            e  Ljava/io/IOException;
           10   11     8            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
           4     5       9  Class java.lang.Throwable
    MethodParameters:
             Name  Flags
      clipboard    
      flavor       
      lFormat      
      cached_data  

  public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors();
    descriptor: ()[Ljava/awt/datatransfer/DataFlavor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.datatransfer.ClipboardTransferable this
         0: .line 148
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavors:[Ljava/awt/datatransfer/DataFlavor;
            invokevirtual java.awt.datatransfer.DataFlavor[].clone:()Ljava/lang/Object;
            checkcast java.awt.datatransfer.DataFlavor[]
            areturn
        end local 0 // sun.awt.datatransfer.ClipboardTransferable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/datatransfer/ClipboardTransferable;

  public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor);
    descriptor: (Ljava/awt/datatransfer/DataFlavor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.datatransfer.ClipboardTransferable this
        start local 1 // java.awt.datatransfer.DataFlavor flavor
         0: .line 152
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            aload 1 /* flavor */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.awt.datatransfer.DataFlavor flavor
        end local 0 // sun.awt.datatransfer.ClipboardTransferable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/awt/datatransfer/ClipboardTransferable;
            0    1     1  flavor  Ljava/awt/datatransfer/DataFlavor;
    MethodParameters:
        Name  Flags
      flavor  

  public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor);
    descriptor: (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.awt.datatransfer.ClipboardTransferable this
        start local 1 // java.awt.datatransfer.DataFlavor flavor
         0: .line 158
            aload 0 /* this */
            aload 1 /* flavor */
            invokevirtual sun.awt.datatransfer.ClipboardTransferable.isDataFlavorSupported:(Ljava/awt/datatransfer/DataFlavor;)Z
            ifne 2
         1: .line 159
            new java.awt.datatransfer.UnsupportedFlavorException
            dup
            aload 1 /* flavor */
            invokespecial java.awt.datatransfer.UnsupportedFlavorException.<init>:(Ljava/awt/datatransfer/DataFlavor;)V
            athrow
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClipboardTransferable.flavorsToData:Ljava/util/HashMap;
            aload 1 /* flavor */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ret */
        start local 2 // java.lang.Object ret
         3: .line 162
            aload 2 /* ret */
            instanceof java.io.IOException
            ifeq 5
         4: .line 164
            aload 2 /* ret */
            checkcast java.io.IOException
            athrow
         5: .line 165
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* ret */
            instanceof sun.awt.datatransfer.ClipboardTransferable$DataFactory
            ifeq 8
         6: .line 167
            aload 2 /* ret */
            checkcast sun.awt.datatransfer.ClipboardTransferable$DataFactory
            astore 3 /* factory */
        start local 3 // sun.awt.datatransfer.ClipboardTransferable$DataFactory factory
         7: .line 168
            aload 3 /* factory */
            aload 1 /* flavor */
            invokevirtual sun.awt.datatransfer.ClipboardTransferable$DataFactory.getTransferData:(Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object;
            astore 2 /* ret */
        end local 3 // sun.awt.datatransfer.ClipboardTransferable$DataFactory factory
         8: .line 170
      StackMap locals:
      StackMap stack:
            aload 2 /* ret */
            areturn
        end local 2 // java.lang.Object ret
        end local 1 // java.awt.datatransfer.DataFlavor flavor
        end local 0 // sun.awt.datatransfer.ClipboardTransferable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/awt/datatransfer/ClipboardTransferable;
            0    9     1   flavor  Ljava/awt/datatransfer/DataFlavor;
            3    9     2      ret  Ljava/lang/Object;
            7    8     3  factory  Lsun/awt/datatransfer/ClipboardTransferable$DataFactory;
    Exceptions:
      throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
    MethodParameters:
        Name  Flags
      flavor  
}
SourceFile: "ClipboardTransferable.java"
NestMembers:
  sun.awt.datatransfer.ClipboardTransferable$DataFactory
InnerClasses:
  private final DataFactory = sun.awt.datatransfer.ClipboardTransferable$DataFactory of sun.awt.datatransfer.ClipboardTransferable