final class sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService implements sun.datatransfer.DesktopDatatransferService
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService
  super_class: java.lang.Object
{
  static final sun.datatransfer.DesktopDatatransferService INSTANCE;
    descriptor: Lsun/datatransfer/DesktopDatatransferService;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private volatile java.awt.datatransfer.FlavorMap flavorMap;
    descriptor: Ljava/awt/datatransfer/FlavorMap;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 683
            invokestatic sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.getDesktopService:()Lsun/datatransfer/DesktopDatatransferService;
            putstatic sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.INSTANCE:Lsun/datatransfer/DesktopDatatransferService;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
         0: .line 682
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;

  private static sun.datatransfer.DesktopDatatransferService getDesktopService();
    descriptor: ()Lsun/datatransfer/DesktopDatatransferService;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 687
            ldc Lsun/datatransfer/DesktopDatatransferService;
            aconst_null
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
         1: .line 686
            astore 0 /* loader */
        start local 0 // java.util.ServiceLoader loader
         2: .line 688
            aload 0 /* loader */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 1 /* iterator */
        start local 1 // java.util.Iterator iterator
         3: .line 689
            aload 1 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 5
         4: .line 690
            aload 1 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.datatransfer.DesktopDatatransferService
            areturn
         5: .line 692
      StackMap locals: java.util.ServiceLoader java.util.Iterator
      StackMap stack:
            new sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService
            dup
            invokespecial sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.<init>:()V
            areturn
        end local 1 // java.util.Iterator iterator
        end local 0 // java.util.ServiceLoader loader
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            2    6     0    loader  Ljava/util/ServiceLoader<Lsun/datatransfer/DesktopDatatransferService;>;
            3    6     1  iterator  Ljava/util/Iterator<Lsun/datatransfer/DesktopDatatransferService;>;

  public void invokeOnEventThread(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
        start local 1 // java.lang.Runnable r
         0: .line 704
            aload 1 /* r */
            invokeinterface java.lang.Runnable.run:()V
         1: .line 705
            return
        end local 1 // java.lang.Runnable r
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;
            0    2     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public java.lang.String getDefaultUnicodeEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
         0: .line 709
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            areturn
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;

  public java.awt.datatransfer.FlavorMap getFlavorMap(java.util.function.Supplier<java.awt.datatransfer.FlavorMap>);
    descriptor: (Ljava/util/function/Supplier;)Ljava/awt/datatransfer/FlavorMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
        start local 1 // java.util.function.Supplier supplier
         0: .line 714
            aload 0 /* this */
            getfield sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.flavorMap:Ljava/awt/datatransfer/FlavorMap;
            astore 2 /* map */
        start local 2 // java.awt.datatransfer.FlavorMap map
         1: .line 715
            aload 2 /* map */
            ifnonnull 10
         2: .line 716
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 717
            aload 0 /* this */
            getfield sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.flavorMap:Ljava/awt/datatransfer/FlavorMap;
            astore 2 /* map */
         4: .line 718
            aload 2 /* map */
            ifnonnull 6
         5: .line 719
            aload 0 /* this */
            aload 1 /* supplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.awt.datatransfer.FlavorMap
            dup
            astore 2 /* map */
            putfield sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService.flavorMap:Ljava/awt/datatransfer/FlavorMap;
         6: .line 716
      StackMap locals: java.awt.datatransfer.FlavorMap sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService
      StackMap stack:
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 723
      StackMap locals:
      StackMap stack:
            aload 2 /* map */
            areturn
        end local 2 // java.awt.datatransfer.FlavorMap map
        end local 1 // java.util.function.Supplier supplier
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;
            0   11     1  supplier  Ljava/util/function/Supplier<Ljava/awt/datatransfer/FlavorMap;>;
            1   11     2       map  Ljava/awt/datatransfer/FlavorMap;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any
    Signature: (Ljava/util/function/Supplier<Ljava/awt/datatransfer/FlavorMap;>;)Ljava/awt/datatransfer/FlavorMap;
    MethodParameters:
          Name  Flags
      supplier  

  public boolean isDesktopPresent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
         0: .line 728
            iconst_0
            ireturn
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;

  public java.util.LinkedHashSet<java.awt.datatransfer.DataFlavor> getPlatformMappingsForNative(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/LinkedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
        start local 1 // java.lang.String nat
         0: .line 733
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            areturn
        end local 1 // java.lang.String nat
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;
            0    1     1   nat  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/LinkedHashSet<Ljava/awt/datatransfer/DataFlavor;>;
    MethodParameters:
      Name  Flags
      nat   

  public java.util.LinkedHashSet<java.lang.String> getPlatformMappingsForFlavor(java.awt.datatransfer.DataFlavor);
    descriptor: (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/LinkedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
        start local 1 // java.awt.datatransfer.DataFlavor df
         0: .line 738
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            areturn
        end local 1 // java.awt.datatransfer.DataFlavor df
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;
            0    1     1    df  Ljava/awt/datatransfer/DataFlavor;
    Signature: (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/LinkedHashSet<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      df    

  public void registerTextFlavorProperties(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
        start local 1 // java.lang.String nat
        start local 2 // java.lang.String charset
        start local 3 // java.lang.String eoln
        start local 4 // java.lang.String terminators
         0: .line 745
            return
        end local 4 // java.lang.String terminators
        end local 3 // java.lang.String eoln
        end local 2 // java.lang.String charset
        end local 1 // java.lang.String nat
        end local 0 // sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService;
            0    1     1          nat  Ljava/lang/String;
            0    1     2      charset  Ljava/lang/String;
            0    1     3         eoln  Ljava/lang/String;
            0    1     4  terminators  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      nat          
      charset      
      eoln         
      terminators  
}
SourceFile: "DataFlavorUtil.java"
NestHost: sun.datatransfer.DataFlavorUtil
InnerClasses:
  private final DefaultDesktopDatatransferService = sun.datatransfer.DataFlavorUtil$DefaultDesktopDatatransferService of sun.datatransfer.DataFlavorUtil