public class com.sun.javafx.iio.ImageStorage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.iio.ImageStorage
  super_class: java.lang.Object
{
  private static final java.util.HashMap<com.sun.javafx.iio.ImageFormatDescription$Signature, com.sun.javafx.iio.ImageLoaderFactory> loaderFactoriesBySignature;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Lcom/sun/javafx/iio/ImageFormatDescription$Signature;Lcom/sun/javafx/iio/ImageLoaderFactory;>;

  private static final com.sun.javafx.iio.ImageLoaderFactory[] loaderFactories;
    descriptor: [Lcom/sun/javafx/iio/ImageLoaderFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean isIOS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static int maxSignatureLength;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile int[] $SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 121
            invokestatic com.sun.javafx.PlatformUtil.isIOS:()Z
            putstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
         1: .line 126
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 6
         2: .line 129
            iconst_1
            anewarray com.sun.javafx.iio.ImageLoaderFactory
            dup
            iconst_0
         3: .line 130
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aastore
         4: .line 129
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
         5: .line 132
            goto 12
         6: .line 133
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray com.sun.javafx.iio.ImageLoaderFactory
            dup
            iconst_0
         7: .line 134
            invokestatic com.sun.javafx.iio.gif.GIFImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_1
         8: .line 135
            invokestatic com.sun.javafx.iio.jpeg.JPEGImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_2
         9: .line 136
            invokestatic com.sun.javafx.iio.png.PNGImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_3
        10: .line 137
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
        11: .line 133
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
        12: .line 143
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
        13: .line 145
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        14: goto 17
        15: .line 146
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            iload 0 /* i */
            aaload
            invokestatic com.sun.javafx.iio.ImageStorage.addImageLoaderFactory:(Lcom/sun/javafx/iio/ImageLoaderFactory;)V
        16: .line 145
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 0 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            if_icmplt 15
        end local 0 // int i
        18: .line 148
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           14   18     0     i  I

  public static com.sun.javafx.iio.ImageFormatDescription[] getSupportedDescriptions();
    descriptor: ()[Lcom/sun/javafx/iio/ImageFormatDescription;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 151
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            anewarray com.sun.javafx.iio.ImageFormatDescription
            astore 0 /* formats */
        start local 0 // com.sun.javafx.iio.ImageFormatDescription[] formats
         1: .line 152
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 153
      StackMap locals: com.sun.javafx.iio.ImageFormatDescription[] int
      StackMap stack:
            aload 0 /* formats */
            iload 1 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            iload 1 /* i */
            aaload
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.getFormatDescription:()Lcom/sun/javafx/iio/ImageFormatDescription;
            aastore
         4: .line 152
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            if_icmplt 3
        end local 1 // int i
         6: .line 155
            aload 0 /* formats */
            areturn
        end local 0 // com.sun.javafx.iio.ImageFormatDescription[] formats
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    7     0  formats  [Lcom/sun/javafx/iio/ImageFormatDescription;
            2    6     1        i  I

  public static int getNumBands(com.sun.javafx.iio.ImageStorage$ImageType);
    descriptor: (Lcom/sun/javafx/iio/ImageStorage$ImageType;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.javafx.iio.ImageStorage$ImageType type
         0: .line 165
            iconst_m1
            istore 1 /* numBands */
        start local 1 // int numBands
         1: .line 166
            invokestatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:()[I
            aload 0 /* type */
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 2
                    2: 4
                    3: 4
                    4: 2
                    5: 2
                    6: 2
                    7: 2
                    8: 6
                    9: 8
                   10: 8
              default: 10
          }
         2: .line 172
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* numBands */
         3: .line 173
            goto 11
         4: .line 176
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 1 /* numBands */
         5: .line 177
            goto 11
         6: .line 179
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 1 /* numBands */
         7: .line 180
            goto 11
         8: .line 183
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 1 /* numBands */
         9: .line 184
            goto 11
        10: .line 186
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown ImageType "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 188
      StackMap locals:
      StackMap stack:
            iload 1 /* numBands */
            ireturn
        end local 1 // int numBands
        end local 0 // com.sun.javafx.iio.ImageStorage$ImageType type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      type  Lcom/sun/javafx/iio/ImageStorage$ImageType;
            1   12     1  numBands  I
    MethodParameters:
      Name  Flags
      type  

  public static void addImageLoaderFactory(com.sun.javafx.iio.ImageLoaderFactory);
    descriptor: (Lcom/sun/javafx/iio/ImageLoaderFactory;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.javafx.iio.ImageLoaderFactory factory
         0: .line 199
            aload 0 /* factory */
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.getFormatDescription:()Lcom/sun/javafx/iio/ImageFormatDescription;
            astore 1 /* desc */
        start local 1 // com.sun.javafx.iio.ImageFormatDescription desc
         1: .line 205
            aload 1 /* desc */
            invokeinterface com.sun.javafx.iio.ImageFormatDescription.getSignatures:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.sun.javafx.iio.ImageLoaderFactory com.sun.javafx.iio.ImageFormatDescription top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            astore 2 /* signature */
        start local 2 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         3: .line 206
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            aload 2 /* signature */
            aload 0 /* factory */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 210
            ldc Lcom/sun/javafx/iio/ImageStorage;
            dup
            astore 2
            monitorenter
         6: .line 211
            iconst_m1
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
         7: .line 210
            aload 2
            monitorexit
         8: goto 11
      StackMap locals: com.sun.javafx.iio.ImageLoaderFactory com.sun.javafx.iio.ImageFormatDescription java.lang.Class
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.iio.ImageFormatDescription desc
        end local 0 // com.sun.javafx.iio.ImageLoaderFactory factory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0    factory  Lcom/sun/javafx/iio/ImageLoaderFactory;
            1   12     1       desc  Lcom/sun/javafx/iio/ImageFormatDescription;
            3    4     2  signature  Lcom/sun/javafx/iio/ImageFormatDescription$Signature;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      factory  

  public static com.sun.javafx.iio.ImageFrame[] loadAll(java.io.InputStream, com.sun.javafx.iio.ImageLoadListener, double, double, boolean, float, boolean);
    descriptor: (Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=13, args_size=7
        start local 0 // java.io.InputStream input
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
        start local 2 // double width
        start local 4 // double height
        start local 6 // boolean preserveAspectRatio
        start local 7 // float pixelScale
        start local 8 // boolean smooth
         0: .line 259
            aconst_null
            astore 9 /* loader */
        start local 9 // com.sun.javafx.iio.ImageLoader loader
         1: .line 260
            aconst_null
            astore 10 /* images */
        start local 10 // com.sun.javafx.iio.ImageFrame[] images
         2: .line 263
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 5
         3: .line 266
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aload 0 /* input */
            invokevirtual com.sun.javafx.iio.ios.IosImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 9 /* loader */
         4: .line 267
            goto 6
         5: .line 268
      StackMap locals: com.sun.javafx.iio.ImageLoader com.sun.javafx.iio.ImageFrame[]
      StackMap stack:
            aload 0 /* input */
            aload 1 /* listener */
            invokestatic com.sun.javafx.iio.ImageStorage.getLoaderBySignature:(Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
            astore 9 /* loader */
         6: .line 270
      StackMap locals:
      StackMap stack:
            aload 9 /* loader */
            ifnull 9
         7: .line 271
            aload 9 /* loader */
            dload 2 /* width */
            dload 4 /* height */
            iload 6 /* preserveAspectRatio */
            fload 7 /* pixelScale */
            iload 8 /* smooth */
            invokestatic com.sun.javafx.iio.ImageStorage.loadAll:(Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
            astore 10 /* images */
         8: .line 272
            goto 18
         9: .line 273
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "No loader for image data"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 275
      StackMap locals:
      StackMap stack: com.sun.javafx.iio.ImageStorageException
            astore 11 /* ise */
        start local 11 // com.sun.javafx.iio.ImageStorageException ise
        11: .line 276
            aload 11 /* ise */
            athrow
        end local 11 // com.sun.javafx.iio.ImageStorageException ise
        12: .line 277
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 11 /* e */
        start local 11 // java.io.IOException e
        13: .line 278
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 11 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 11 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.io.IOException e
        14: .line 279
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        15: .line 280
            aload 9 /* loader */
            ifnull 17
        16: .line 281
            aload 9 /* loader */
            invokeinterface com.sun.javafx.iio.ImageLoader.dispose:()V
        17: .line 283
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageLoader com.sun.javafx.iio.ImageFrame[] top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        18: .line 280
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageLoader com.sun.javafx.iio.ImageFrame[]
      StackMap stack:
            aload 9 /* loader */
            ifnull 20
        19: .line 281
            aload 9 /* loader */
            invokeinterface com.sun.javafx.iio.ImageLoader.dispose:()V
        20: .line 284
      StackMap locals:
      StackMap stack:
            aload 10 /* images */
            areturn
        end local 10 // com.sun.javafx.iio.ImageFrame[] images
        end local 9 // com.sun.javafx.iio.ImageLoader loader
        end local 8 // boolean smooth
        end local 7 // float pixelScale
        end local 6 // boolean preserveAspectRatio
        end local 4 // double height
        end local 2 // double width
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.io.InputStream input
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                input  Ljava/io/InputStream;
            0   21     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            0   21     2                width  D
            0   21     4               height  D
            0   21     6  preserveAspectRatio  Z
            0   21     7           pixelScale  F
            0   21     8               smooth  Z
            1   21     9               loader  Lcom/sun/javafx/iio/ImageLoader;
            2   21    10               images  [Lcom/sun/javafx/iio/ImageFrame;
           11   12    11                  ise  Lcom/sun/javafx/iio/ImageStorageException;
           13   14    11                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    10      10  Class com.sun.javafx.iio.ImageStorageException
           2    10      12  Class java.io.IOException
           2    14      14  any
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      input                
      listener             
      width                
      height               
      preserveAspectRatio  
      pixelScale           
      smooth               

  public static com.sun.javafx.iio.ImageFrame[] loadAll(java.lang.String, com.sun.javafx.iio.ImageLoadListener, double, double, boolean, float, boolean);
    descriptor: (Ljava/lang/String;Lcom/sun/javafx/iio/ImageLoadListener;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=7
        start local 0 // java.lang.String input
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
        start local 2 // double width
        start local 4 // double height
        start local 6 // boolean preserveAspectRatio
        start local 7 // float devPixelScale
        start local 8 // boolean smooth
         0: .line 295
            aload 0 /* input */
            ifnull 1
            aload 0 /* input */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 296
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "URL can't be null or empty"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 299
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* images */
        start local 9 // com.sun.javafx.iio.ImageFrame[] images
         3: .line 300
            aconst_null
            astore 10 /* theStream */
        start local 10 // java.io.InputStream theStream
         4: .line 301
            aconst_null
            astore 11 /* loader */
        start local 11 // com.sun.javafx.iio.ImageLoader loader
         5: .line 304
            fconst_1
            fstore 12 /* imgPixelScale */
        start local 12 // float imgPixelScale
         6: .line 306
            fload 7 /* devPixelScale */
            ldc 1.5
            fcmpl
            iflt 12
         7: .line 309
            aload 0 /* input */
            invokestatic com.sun.javafx.iio.common.ImageTools.getScaledImageName:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* name2x */
        start local 13 // java.lang.String name2x
         8: .line 310
            aload 13 /* name2x */
            invokestatic com.sun.javafx.iio.common.ImageTools.createInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 10 /* theStream */
         9: .line 311
            fconst_2
            fstore 12 /* imgPixelScale */
        end local 13 // java.lang.String name2x
        10: .line 312
            goto 12
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader float
      StackMap stack: java.io.IOException
        11: pop
        12: .line 315
      StackMap locals:
      StackMap stack:
            aload 10 /* theStream */
            ifnonnull 14
        13: .line 316
            aload 0 /* input */
            invokestatic com.sun.javafx.iio.common.ImageTools.createInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 10 /* theStream */
        14: .line 319
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 17
        15: .line 320
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aload 10 /* theStream */
            invokevirtual com.sun.javafx.iio.ios.IosImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 11 /* loader */
        16: .line 321
            goto 21
        17: .line 322
      StackMap locals:
      StackMap stack:
            aload 10 /* theStream */
            aload 1 /* listener */
            invokestatic com.sun.javafx.iio.ImageStorage.getLoaderBySignature:(Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
            astore 11 /* loader */
        18: .line 324
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 13 /* e */
        start local 13 // java.io.IOException e
        20: .line 325
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 13 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 13 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        21: .line 328
      StackMap locals:
      StackMap stack:
            aload 11 /* loader */
            ifnull 24
        22: .line 329
            aload 11 /* loader */
            dload 2 /* width */
            dload 4 /* height */
            iload 6 /* preserveAspectRatio */
            fload 12 /* imgPixelScale */
            iload 8 /* smooth */
            invokestatic com.sun.javafx.iio.ImageStorage.loadAll:(Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
            astore 9 /* images */
        23: .line 330
            goto 33
        24: .line 331
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "No loader for image data"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // float imgPixelScale
        25: .line 333
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack: java.lang.Throwable
            astore 14
        26: .line 334
            aload 11 /* loader */
            ifnull 28
        27: .line 335
            aload 11 /* loader */
            invokeinterface com.sun.javafx.iio.ImageLoader.dispose:()V
        28: .line 338
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader top top java.lang.Throwable
      StackMap stack:
            aload 10 /* theStream */
            ifnull 32
        29: .line 339
            aload 10 /* theStream */
            invokevirtual java.io.InputStream.close:()V
        30: .line 341
            goto 32
      StackMap locals:
      StackMap stack: java.io.IOException
        31: pop
        32: .line 343
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
        33: .line 334
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack:
            aload 11 /* loader */
            ifnull 35
        34: .line 335
            aload 11 /* loader */
            invokeinterface com.sun.javafx.iio.ImageLoader.dispose:()V
        35: .line 338
      StackMap locals:
      StackMap stack:
            aload 10 /* theStream */
            ifnull 39
        36: .line 339
            aload 10 /* theStream */
            invokevirtual java.io.InputStream.close:()V
        37: .line 341
            goto 39
      StackMap locals:
      StackMap stack: java.io.IOException
        38: pop
        39: .line 345
      StackMap locals:
      StackMap stack:
            aload 9 /* images */
            areturn
        end local 11 // com.sun.javafx.iio.ImageLoader loader
        end local 10 // java.io.InputStream theStream
        end local 9 // com.sun.javafx.iio.ImageFrame[] images
        end local 8 // boolean smooth
        end local 7 // float devPixelScale
        end local 6 // boolean preserveAspectRatio
        end local 4 // double height
        end local 2 // double width
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   40     0                input  Ljava/lang/String;
            0   40     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            0   40     2                width  D
            0   40     4               height  D
            0   40     6  preserveAspectRatio  Z
            0   40     7        devPixelScale  F
            0   40     8               smooth  Z
            3   40     9               images  [Lcom/sun/javafx/iio/ImageFrame;
            4   40    10            theStream  Ljava/io/InputStream;
            5   40    11               loader  Lcom/sun/javafx/iio/ImageLoader;
            6   25    12        imgPixelScale  F
            8   10    13               name2x  Ljava/lang/String;
           20   21    13                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    10      11  Class java.io.IOException
           6    18      19  Class java.io.IOException
           5    25      25  any
          28    30      31  Class java.io.IOException
          35    37      38  Class java.io.IOException
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      input                
      listener             
      width                
      height               
      preserveAspectRatio  
      devPixelScale        
      smooth               

  private static synchronized int getMaxSignatureLength();
    descriptor: ()I
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=0
         0: .line 349
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            ifge 8
         1: .line 350
            iconst_0
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
         2: .line 352
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1
            goto 7
      StackMap locals: top java.util.Iterator
      StackMap stack:
         3: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            astore 0 /* signature */
        start local 0 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         4: .line 353
            aload 0 /* signature */
            invokevirtual com.sun.javafx.iio.ImageFormatDescription$Signature.getLength:()I
            istore 2 /* signatureLength */
        start local 2 // int signatureLength
         5: .line 354
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            iload 2 /* signatureLength */
            if_icmpge 7
         6: .line 355
            iload 2 /* signatureLength */
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
        end local 2 // int signatureLength
        end local 0 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         7: .line 351
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 360
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            ireturn
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            4    7     0        signature  Lcom/sun/javafx/iio/ImageFormatDescription$Signature;
            5    7     2  signatureLength  I

  private static com.sun.javafx.iio.ImageFrame[] loadAll(com.sun.javafx.iio.ImageLoader, double, double, boolean, float, boolean);
    descriptor: (Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=6
        start local 0 // com.sun.javafx.iio.ImageLoader loader
        start local 1 // double width
        start local 3 // double height
        start local 5 // boolean preserveAspectRatio
        start local 6 // float pixelScale
        start local 7 // boolean smooth
         0: .line 366
            aconst_null
            astore 8 /* images */
        start local 8 // com.sun.javafx.iio.ImageFrame[] images
         1: .line 367
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* list */
        start local 9 // java.util.ArrayList list
         2: .line 368
            iconst_0
            istore 10 /* imageIndex */
        start local 10 // int imageIndex
         3: .line 369
            aconst_null
            astore 11 /* image */
        start local 11 // com.sun.javafx.iio.ImageFrame image
         4: .line 370
            dload 1 /* width */
            fload 6 /* pixelScale */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 12 /* imgw */
        start local 12 // int imgw
         5: .line 371
            dload 3 /* height */
            fload 6 /* pixelScale */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 13 /* imgh */
        start local 13 // int imgh
         6: .line 374
      StackMap locals: com.sun.javafx.iio.ImageLoader double double int float int com.sun.javafx.iio.ImageFrame[] java.util.ArrayList int com.sun.javafx.iio.ImageFrame int int
      StackMap stack:
            aload 0 /* loader */
            iload 10 /* imageIndex */
            iinc 10 /* imageIndex */ 1
            iload 12 /* imgw */
            iload 13 /* imgh */
            iload 5 /* preserveAspectRatio */
            iload 7 /* smooth */
            invokeinterface com.sun.javafx.iio.ImageLoader.load:(IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
            astore 11 /* image */
         7: .line 375
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 14 /* e */
        start local 14 // java.lang.Exception e
         9: .line 377
            iload 10 /* imageIndex */
            iconst_1
            if_icmple 11
        10: .line 378
            goto 16
        11: .line 380
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 14 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 14 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.lang.Exception e
        12: .line 383
      StackMap locals:
      StackMap stack:
            aload 11 /* image */
            ifnull 16
        13: .line 384
            aload 11 /* image */
            fload 6 /* pixelScale */
            invokevirtual com.sun.javafx.iio.ImageFrame.setPixelScale:(F)V
        14: .line 385
            aload 9 /* list */
            aload 11 /* image */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 389
            goto 6
        16: .line 390
      StackMap locals:
      StackMap stack:
            aload 9 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 14 /* numImages */
        start local 14 // int numImages
        17: .line 391
            iload 14 /* numImages */
            ifle 20
        18: .line 392
            iload 14 /* numImages */
            anewarray com.sun.javafx.iio.ImageFrame
            astore 8 /* images */
        19: .line 393
            aload 9 /* list */
            aload 8 /* images */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        20: .line 395
      StackMap locals: int
      StackMap stack:
            aload 8 /* images */
            areturn
        end local 14 // int numImages
        end local 13 // int imgh
        end local 12 // int imgw
        end local 11 // com.sun.javafx.iio.ImageFrame image
        end local 10 // int imageIndex
        end local 9 // java.util.ArrayList list
        end local 8 // com.sun.javafx.iio.ImageFrame[] images
        end local 7 // boolean smooth
        end local 6 // float pixelScale
        end local 5 // boolean preserveAspectRatio
        end local 3 // double height
        end local 1 // double width
        end local 0 // com.sun.javafx.iio.ImageLoader loader
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0               loader  Lcom/sun/javafx/iio/ImageLoader;
            0   21     1                width  D
            0   21     3               height  D
            0   21     5  preserveAspectRatio  Z
            0   21     6           pixelScale  F
            0   21     7               smooth  Z
            1   21     8               images  [Lcom/sun/javafx/iio/ImageFrame;
            2   21     9                 list  Ljava/util/ArrayList<Lcom/sun/javafx/iio/ImageFrame;>;
            3   21    10           imageIndex  I
            4   21    11                image  Lcom/sun/javafx/iio/ImageFrame;
            5   21    12                 imgw  I
            6   21    13                 imgh  I
            9   12    14                    e  Ljava/lang/Exception;
           17   21    14            numImages  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      loader               
      width                
      height               
      preserveAspectRatio  
      pixelScale           
      smooth               

  private static com.sun.javafx.iio.ImageLoader getLoaderBySignature(java.io.InputStream, com.sun.javafx.iio.ImageLoadListener);
    descriptor: (Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.InputStream stream
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
         0: .line 421
            invokestatic com.sun.javafx.iio.ImageStorage.getMaxSignatureLength:()I
            newarray 8
            astore 2 /* header */
        start local 2 // byte[] header
         1: .line 422
            aload 0 /* stream */
            aload 2 /* header */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         2: .line 425
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* factoryRegistration */
        start local 3 // java.util.Map$Entry factoryRegistration
         4: .line 426
            aload 3 /* factoryRegistration */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            aload 2 /* header */
            invokevirtual com.sun.javafx.iio.ImageFormatDescription$Signature.matches:([B)Z
            ifeq 11
         5: .line 427
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* header */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 5 /* headerStream */
        start local 5 // java.io.InputStream headerStream
         6: .line 428
            new java.io.SequenceInputStream
            dup
            aload 5 /* headerStream */
            aload 0 /* stream */
            invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
            astore 6 /* seqStream */
        start local 6 // java.io.InputStream seqStream
         7: .line 429
            aload 3 /* factoryRegistration */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageLoaderFactory
            aload 6 /* seqStream */
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 7 /* loader */
        start local 7 // com.sun.javafx.iio.ImageLoader loader
         8: .line 430
            aload 1 /* listener */
            ifnull 10
         9: .line 431
            aload 7 /* loader */
            aload 1 /* listener */
            invokeinterface com.sun.javafx.iio.ImageLoader.addListener:(Lcom/sun/javafx/iio/ImageLoadListener;)V
        10: .line 434
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] java.util.Map$Entry java.util.Iterator java.io.InputStream java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack:
            aload 7 /* loader */
            areturn
        end local 7 // com.sun.javafx.iio.ImageLoader loader
        end local 6 // java.io.InputStream seqStream
        end local 5 // java.io.InputStream headerStream
        end local 3 // java.util.Map$Entry factoryRegistration
        11: .line 424
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 439
            aconst_null
            areturn
        end local 2 // byte[] header
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.io.InputStream stream
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0               stream  Ljava/io/InputStream;
            0   13     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            1   13     2               header  [B
            4   11     3  factoryRegistration  Ljava/util/Map$Entry<Lcom/sun/javafx/iio/ImageFormatDescription$Signature;Lcom/sun/javafx/iio/ImageLoaderFactory;>;
            6   11     5         headerStream  Ljava/io/InputStream;
            7   11     6            seqStream  Ljava/io/InputStream;
            8   11     7               loader  Lcom/sun/javafx/iio/ImageLoader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      stream    
      listener  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.ImageStorage this
         0: .line 442
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 443
            return
        end local 0 // com.sun.javafx.iio.ImageStorage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/iio/ImageStorage;

  static int[] $SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.javafx.iio.ImageStorage$ImageType.values:()[Lcom/sun/javafx/iio/ImageStorage$ImageType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_ALPHA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_TRANS:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 8
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 10
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
}
SourceFile: "ImageStorage.java"
NestMembers:
  com.sun.javafx.iio.ImageStorage$ImageType
InnerClasses:
  public final Signature = com.sun.javafx.iio.ImageFormatDescription$Signature of com.sun.javafx.iio.ImageFormatDescription
  public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
  public abstract Entry = java.util.Map$Entry of java.util.Map