final class com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader extends com.sun.javafx.runtime.async.AbstractRemoteResource<com.sun.javafx.tk.quantum.PrismImageLoader2>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader
  super_class: com.sun.javafx.runtime.async.AbstractRemoteResource
{
  private static final java.util.concurrent.ExecutorService BG_LOADING_EXECUTOR;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  double width;
    descriptor: D
    flags: (0x0000) 

  double height;
    descriptor: D
    flags: (0x0000) 

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 229
            invokestatic com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.createExecutor:()Ljava/util/concurrent/ExecutorService;
         1: .line 228
            putstatic com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.BG_LOADING_EXECUTOR:Ljava/util/concurrent/ExecutorService;
         2: .line 229
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.sun.javafx.runtime.async.AsyncOperationListener<com.sun.javafx.tk.quantum.PrismImageLoader2>, java.lang.String, double, double, boolean, );
    descriptor: (Lcom/sun/javafx/runtime/async/AsyncOperationListener;Ljava/lang/String;DDZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=7
        start local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
        start local 1 // com.sun.javafx.runtime.async.AsyncOperationListener listener
        start local 2 // java.lang.String url
        start local 3 // double width
        start local 5 // double height
        start local 7 // boolean preserveRatio
        start local 8 // boolean smooth
         0: .line 242
            aload 0 /* this */
            aload 2 /* url */
            aload 1 /* listener */
            invokespecial com.sun.javafx.runtime.async.AbstractRemoteResource.<init>:(Ljava/lang/String;Lcom/sun/javafx/runtime/async/AsyncOperationListener;)V
         1: .line 243
            aload 0 /* this */
            dload 3 /* width */
            putfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.width:D
         2: .line 244
            aload 0 /* this */
            dload 5 /* height */
            putfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.height:D
         3: .line 245
            aload 0 /* this */
            iload 7 /* preserveRatio */
            putfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.preserveRatio:Z
         4: .line 246
            aload 0 /* this */
            iload 8 /* smooth */
            putfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.smooth:Z
         5: .line 247
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.acc:Ljava/security/AccessControlContext;
         6: .line 248
            return
        end local 8 // boolean smooth
        end local 7 // boolean preserveRatio
        end local 5 // double height
        end local 3 // double width
        end local 2 // java.lang.String url
        end local 1 // com.sun.javafx.runtime.async.AsyncOperationListener listener
        end local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;
            0    7     1       listener  Lcom/sun/javafx/runtime/async/AsyncOperationListener<Lcom/sun/javafx/tk/quantum/PrismImageLoader2;>;
            0    7     2            url  Ljava/lang/String;
            0    7     3          width  D
            0    7     5         height  D
            0    7     7  preserveRatio  Z
            0    7     8         smooth  Z
    Signature: (Lcom/sun/javafx/runtime/async/AsyncOperationListener<Lcom/sun/javafx/tk/quantum/PrismImageLoader2;>;Ljava/lang/String;DDZZ)V
    MethodParameters:
               Name  Flags
      listener       
      url            
      width          
      height         
      preserveRatio  
      smooth         

  protected com.sun.javafx.tk.quantum.PrismImageLoader2 processStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
        start local 1 // java.io.InputStream stream
         0: .line 252
            new com.sun.javafx.tk.quantum.PrismImageLoader2
            dup
            aload 1 /* stream */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.width:D
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.height:D
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.preserveRatio:Z
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.smooth:Z
            invokespecial com.sun.javafx.tk.quantum.PrismImageLoader2.<init>:(Ljava/io/InputStream;DDZZ)V
            areturn
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;
            0    1     1  stream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public com.sun.javafx.tk.quantum.PrismImageLoader2 call();
    descriptor: ()Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
         0: .line 259
            aload 0 /* this */
            invokedynamic run(Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;)Ljava/security/PrivilegedExceptionAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader.lambda$0()Lcom/sun/javafx/tk/quantum/PrismImageLoader2; (7)
                  ()Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.acc:Ljava/security/AccessControlContext;
         1: .line 258
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast com.sun.javafx.tk.quantum.PrismImageLoader2
         2: areturn
         3: .line 260
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 1 /* e */
        start local 1 // java.security.PrivilegedActionException e
         4: .line 261
            aload 1 /* e */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         5: .line 263
            aload 2 /* cause */
            instanceof java.io.IOException
            ifeq 7
         6: .line 264
            aload 2 /* cause */
            checkcast java.io.IOException
            athrow
         7: .line 267
      StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
      StackMap stack:
            new java.lang.reflect.UndeclaredThrowableException
            dup
            aload 2 /* cause */
            invokespecial java.lang.reflect.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable cause
        end local 1 // java.security.PrivilegedActionException e
        end local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;
            4    8     1      e  Ljava/security/PrivilegedActionException;
            5    8     2  cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
         0: .line 273
            getstatic com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.BG_LOADING_EXECUTOR:Ljava/util/concurrent/ExecutorService;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.future:Ljava/util/concurrent/FutureTask;
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
         1: .line 274
            return
        end local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;

  private static java.util.concurrent.ExecutorService createExecutor();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 279
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader.lambda$1()Ljava/lang/ThreadGroup; (6)
                  ()Ljava/lang/ThreadGroup;
         1: .line 278
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ThreadGroup
         2: .line 277
            astore 0 /* bgLoadingThreadGroup */
        start local 0 // java.lang.ThreadGroup bgLoadingThreadGroup
         3: .line 286
            aload 0 /* bgLoadingThreadGroup */
            invokedynamic newThread(Ljava/lang/ThreadGroup;)Ljava/util/concurrent/ThreadFactory;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Runnable;)Ljava/lang/Thread;
                  com/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader.lambda$2(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
                  (Ljava/lang/Runnable;)Ljava/lang/Thread;
         4: .line 285
            astore 1 /* bgLoadingThreadFactory */
        start local 1 // java.util.concurrent.ThreadFactory bgLoadingThreadFactory
         5: .line 299
            aload 1 /* bgLoadingThreadFactory */
            invokestatic java.util.concurrent.Executors.newCachedThreadPool:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
         6: .line 298
            astore 2 /* bgLoadingExecutor */
        start local 2 // java.util.concurrent.ExecutorService bgLoadingExecutor
         7: .line 300
            aload 2 /* bgLoadingExecutor */
            checkcast java.util.concurrent.ThreadPoolExecutor
         8: .line 301
            lconst_1
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
         9: .line 300
            invokevirtual java.util.concurrent.ThreadPoolExecutor.setKeepAliveTime:(JLjava/util/concurrent/TimeUnit;)V
        10: .line 303
            aload 2 /* bgLoadingExecutor */
            areturn
        end local 2 // java.util.concurrent.ExecutorService bgLoadingExecutor
        end local 1 // java.util.concurrent.ThreadFactory bgLoadingThreadFactory
        end local 0 // java.lang.ThreadGroup bgLoadingThreadGroup
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            3   11     0    bgLoadingThreadGroup  Ljava/lang/ThreadGroup;
            5   11     1  bgLoadingThreadFactory  Ljava/util/concurrent/ThreadFactory;
            7   11     2       bgLoadingExecutor  Ljava/util/concurrent/ExecutorService;

  public java.lang.Object call();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.call:()Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  protected java.lang.Object processStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.processStream:(Ljava/io/InputStream;)Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  static java.lang.Object access$2(com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader);
    descriptor: (Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;)Ljava/lang/Object;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.sun.javafx.runtime.async.AbstractRemoteResource.call:()Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  private com.sun.javafx.tk.quantum.PrismImageLoader2 lambda$0();
    descriptor: ()Lcom/sun/javafx/tk/quantum/PrismImageLoader2;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
         0: .line 259
            aload 0 /* this */
            invokestatic com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.access$2:(Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;)Ljava/lang/Object;
            checkcast com.sun.javafx.tk.quantum.PrismImageLoader2
            areturn
        end local 0 // com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.ThreadGroup lambda$1();
    descriptor: ()Ljava/lang/ThreadGroup;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 279
            new java.lang.ThreadGroup
            dup
         1: .line 280
            invokestatic com.sun.javafx.tk.quantum.QuantumToolkit.getFxUserThread:()Ljava/lang/Thread;
         2: .line 281
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
         3: .line 282
            ldc "Background image loading thread pool"
         4: .line 279
            invokespecial java.lang.ThreadGroup.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/String;)V
         5: .line 282
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Thread lambda$2(java.lang.ThreadGroup, java.lang.Runnable);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)Ljava/lang/Thread;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.Runnable runnable
         0: .line 287
            aload 0
            aload 1 /* runnable */
            invokedynamic run(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/javafx/tk/quantum/PrismImageLoader2$AsyncImageLoader.lambda$3(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
                  ()Ljava/lang/Thread;
         1: .line 286
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Thread
         2: .line 296
            areturn
        end local 1 // java.lang.Runnable runnable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     1  runnable  Ljava/lang/Runnable;

  private static java.lang.Thread lambda$3(java.lang.ThreadGroup, java.lang.Runnable);
    descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)Ljava/lang/Thread;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=2
         0: .line 289
            new java.lang.Thread
            dup
            aload 0
         1: .line 290
            aload 1
         2: .line 289
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V
         3: .line 288
            astore 2 /* newThread */
        start local 2 // java.lang.Thread newThread
         4: .line 291
            aload 2 /* newThread */
         5: .line 292
            iconst_1
         6: .line 291
            invokevirtual java.lang.Thread.setPriority:(I)V
         7: .line 294
            aload 2 /* newThread */
            areturn
        end local 2 // java.lang.Thread newThread
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            4    8     2  newThread  Ljava/lang/Thread;
}
Signature: Lcom/sun/javafx/runtime/async/AbstractRemoteResource<Lcom/sun/javafx/tk/quantum/PrismImageLoader2;>;
SourceFile: "PrismImageLoader2.java"
NestHost: com.sun.javafx.tk.quantum.PrismImageLoader2
InnerClasses:
  final AsyncImageLoader = com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader of com.sun.javafx.tk.quantum.PrismImageLoader2
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles