public final class javax.imageio.ImageIO
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javax.imageio.ImageIO
  super_class: java.lang.Object
{
  private static final javax.imageio.spi.IIORegistry theRegistry;
    descriptor: Ljavax/imageio/spi/IIORegistry;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.reflect.Method readerFormatNamesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method readerFileSuffixesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method readerMIMETypesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method writerFormatNamesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method writerFileSuffixesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method writerMIMETypesMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 66
            invokestatic javax.imageio.spi.IIORegistry.getDefaultInstance:()Ljavax/imageio/spi/IIORegistry;
         1: .line 65
            putstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
         2: .line 672
            ldc Ljavax/imageio/spi/ImageReaderSpi;
            ldc "getFormatNames"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         3: .line 671
            putstatic javax.imageio.ImageIO.readerFormatNamesMethod:Ljava/lang/reflect/Method;
         4: .line 674
            ldc Ljavax/imageio/spi/ImageReaderSpi;
            ldc "getFileSuffixes"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         5: .line 673
            putstatic javax.imageio.ImageIO.readerFileSuffixesMethod:Ljava/lang/reflect/Method;
         6: .line 676
            ldc Ljavax/imageio/spi/ImageReaderSpi;
            ldc "getMIMETypes"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         7: .line 675
            putstatic javax.imageio.ImageIO.readerMIMETypesMethod:Ljava/lang/reflect/Method;
         8: .line 679
            ldc Ljavax/imageio/spi/ImageWriterSpi;
            ldc "getFormatNames"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         9: .line 678
            putstatic javax.imageio.ImageIO.writerFormatNamesMethod:Ljava/lang/reflect/Method;
        10: .line 681
            ldc Ljavax/imageio/spi/ImageWriterSpi;
            ldc "getFileSuffixes"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        11: .line 680
            putstatic javax.imageio.ImageIO.writerFileSuffixesMethod:Ljava/lang/reflect/Method;
        12: .line 683
            ldc Ljavax/imageio/spi/ImageWriterSpi;
            ldc "getMIMETypes"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        13: .line 682
            putstatic javax.imageio.ImageIO.writerMIMETypesMethod:Ljava/lang/reflect/Method;
        14: .line 684
            goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        15: astore 0 /* e */
        start local 0 // java.lang.NoSuchMethodException e
        16: .line 685
            aload 0 /* e */
            invokevirtual java.lang.NoSuchMethodException.printStackTrace:()V
        end local 0 // java.lang.NoSuchMethodException e
        17: .line 687
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           16   17     0     e  Ljava/lang/NoSuchMethodException;
      Exception table:
        from    to  target  type
           2    14      15  Class java.lang.NoSuchMethodException

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageIO this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.imageio.ImageIO this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageIO;

  public static void scanForPlugins();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 110
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            invokevirtual javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis:()V
         1: .line 111
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static synchronized javax.imageio.ImageIO$CacheInfo getCacheInfo();
    descriptor: ()Ljavax/imageio/ImageIO$CacheInfo;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=0
         0: .line 157
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 0 /* context */
        start local 0 // sun.awt.AppContext context
         1: .line 158
            aload 0 /* context */
            ldc Ljavax/imageio/ImageIO$CacheInfo;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.imageio.ImageIO$CacheInfo
            astore 1 /* info */
        start local 1 // javax.imageio.ImageIO$CacheInfo info
         2: .line 159
            aload 1 /* info */
            ifnonnull 5
         3: .line 160
            new javax.imageio.ImageIO$CacheInfo
            dup
            invokespecial javax.imageio.ImageIO$CacheInfo.<init>:()V
            astore 1 /* info */
         4: .line 161
            aload 0 /* context */
            ldc Ljavax/imageio/ImageIO$CacheInfo;
            aload 1 /* info */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 163
      StackMap locals: sun.awt.AppContext javax.imageio.ImageIO$CacheInfo
      StackMap stack:
            aload 1 /* info */
            areturn
        end local 1 // javax.imageio.ImageIO$CacheInfo info
        end local 0 // sun.awt.AppContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    6     0  context  Lsun/awt/AppContext;
            2    6     1     info  Ljavax/imageio/ImageIO$CacheInfo;

  private static java.lang.String getTempDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 171
            new sun.security.action.GetPropertyAction
            dup
            ldc "java.io.tmpdir"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
            astore 0 /* a */
        start local 0 // sun.security.action.GetPropertyAction a
         1: .line 172
            aload 0 /* a */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // sun.security.action.GetPropertyAction a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0     a  Lsun/security/action/GetPropertyAction;

  private static boolean hasCachePermission();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 183
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            invokevirtual javax.imageio.ImageIO$CacheInfo.getHasPermission:()Ljava/lang/Boolean;
            astore 0 /* hasPermission */
        start local 0 // java.lang.Boolean hasPermission
         1: .line 185
            aload 0 /* hasPermission */
            ifnull 3
         2: .line 186
            aload 0 /* hasPermission */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         3: .line 189
      StackMap locals: java.lang.Boolean
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         4: .line 190
            aload 1 /* security */
            ifnull 22
         5: .line 191
            invokestatic javax.imageio.ImageIO.getCacheDirectory:()Ljava/io/File;
            astore 2 /* cachedir */
        start local 2 // java.io.File cachedir
         6: .line 194
            aload 2 /* cachedir */
            ifnull 9
         7: .line 195
            aload 2 /* cachedir */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 3 /* cachepath */
        start local 3 // java.lang.String cachepath
         8: .line 196
            goto 13
        end local 3 // java.lang.String cachepath
         9: .line 197
      StackMap locals: java.lang.SecurityManager java.io.File
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getTempDir:()Ljava/lang/String;
            astore 3 /* cachepath */
        start local 3 // java.lang.String cachepath
        10: .line 199
            aload 3 /* cachepath */
            ifnull 11
            aload 3 /* cachepath */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 13
        11: .line 200
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual javax.imageio.ImageIO$CacheInfo.setHasPermission:(Ljava/lang/Boolean;)V
        12: .line 201
            iconst_0
            ireturn
        13: .line 208
      StackMap locals:
      StackMap stack:
            aload 3 /* cachepath */
            astore 4 /* filepath */
        start local 4 // java.lang.String filepath
        14: .line 209
            aload 4 /* filepath */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 16
        15: .line 210
            new java.lang.StringBuilder
            dup
            aload 4 /* filepath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* filepath */
        16: .line 212
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* filepath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* filepath */
        17: .line 214
            aload 1 /* security */
            new java.io.FilePermission
            dup
            aload 4 /* filepath */
            ldc "read, write, delete"
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 4 // java.lang.String filepath
        end local 3 // java.lang.String cachepath
        end local 2 // java.io.File cachedir
        end local 1 // java.lang.SecurityManager security
        18: .line 216
            goto 22
      StackMap locals: java.lang.Boolean
      StackMap stack: java.lang.SecurityException
        19: pop
        20: .line 217
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual javax.imageio.ImageIO$CacheInfo.setHasPermission:(Ljava/lang/Boolean;)V
        21: .line 218
            iconst_0
            ireturn
        22: .line 221
      StackMap locals:
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual javax.imageio.ImageIO$CacheInfo.setHasPermission:(Ljava/lang/Boolean;)V
        23: .line 222
            iconst_1
            ireturn
        end local 0 // java.lang.Boolean hasPermission
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1   24     0  hasPermission  Ljava/lang/Boolean;
            4   18     1       security  Ljava/lang/SecurityManager;
            6   18     2       cachedir  Ljava/io/File;
            8    9     3      cachepath  Ljava/lang/String;
           10   18     3      cachepath  Ljava/lang/String;
           14   18     4       filepath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    12      19  Class java.lang.SecurityException
          13    18      19  Class java.lang.SecurityException

  public static void setUseCache(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean useCache
         0: .line 253
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            iload 0 /* useCache */
            invokevirtual javax.imageio.ImageIO$CacheInfo.setUseCache:(Z)V
         1: .line 254
            return
        end local 0 // boolean useCache
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  useCache  Z
    MethodParameters:
          Name  Flags
      useCache  

  public static boolean getUseCache();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 267
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            invokevirtual javax.imageio.ImageIO$CacheInfo.getUseCache:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setCacheDirectory(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.File cacheDirectory
         0: .line 288
            aload 0 /* cacheDirectory */
            ifnull 2
            aload 0 /* cacheDirectory */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 2
         1: .line 289
            new java.lang.IllegalArgumentException
            dup
            ldc "Not a directory!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 291
      StackMap locals:
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            aload 0 /* cacheDirectory */
            invokevirtual javax.imageio.ImageIO$CacheInfo.setCacheDirectory:(Ljava/io/File;)V
         3: .line 292
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            aconst_null
            invokevirtual javax.imageio.ImageIO$CacheInfo.setHasPermission:(Ljava/lang/Boolean;)V
         4: .line 293
            return
        end local 0 // java.io.File cacheDirectory
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0  cacheDirectory  Ljava/io/File;
    MethodParameters:
                Name  Flags
      cacheDirectory  

  public static java.io.File getCacheDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 307
            invokestatic javax.imageio.ImageIO.getCacheInfo:()Ljavax/imageio/ImageIO$CacheInfo;
            invokevirtual javax.imageio.ImageIO$CacheInfo.getCacheDirectory:()Ljava/io/File;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static javax.imageio.stream.ImageInputStream createImageInputStream(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/imageio/stream/ImageInputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.Object input
         0: .line 338
            aload 0 /* input */
            ifnonnull 2
         1: .line 339
            new java.lang.IllegalArgumentException
            dup
            ldc "input == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 345
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageInputStreamSpi;
         3: .line 346
            iconst_1
         4: .line 345
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         5: .line 347
            goto 8
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         6: pop
         7: .line 348
            aconst_null
            areturn
        start local 1 // java.util.Iterator iter
         8: .line 351
      StackMap locals: java.util.Iterator
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getUseCache:()Z
            ifeq 9
            invokestatic javax.imageio.ImageIO.hasCachePermission:()Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* usecache */
        start local 2 // boolean usecache
        11: .line 353
            goto 21
        12: .line 354
      StackMap locals: int
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageInputStreamSpi
            astore 3 /* spi */
        start local 3 // javax.imageio.spi.ImageInputStreamSpi spi
        13: .line 355
            aload 3 /* spi */
            invokevirtual javax.imageio.spi.ImageInputStreamSpi.getInputClass:()Ljava/lang/Class;
            aload 0 /* input */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 21
        14: .line 357
            aload 3 /* spi */
            aload 0 /* input */
        15: .line 358
            iload 2 /* usecache */
        16: .line 359
            invokestatic javax.imageio.ImageIO.getCacheDirectory:()Ljava/io/File;
        17: .line 357
            invokevirtual javax.imageio.spi.ImageInputStreamSpi.createInputStreamInstance:(Ljava/lang/Object;ZLjava/io/File;)Ljavax/imageio/stream/ImageInputStream;
        18: areturn
        19: .line 360
      StackMap locals: java.lang.Object java.util.Iterator int javax.imageio.spi.ImageInputStreamSpi
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        20: .line 361
            new javax.imageio.IIOException
            dup
            ldc "Can't create cache file!"
            aload 4 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        end local 3 // javax.imageio.spi.ImageInputStreamSpi spi
        21: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        22: .line 366
            aconst_null
            areturn
        end local 2 // boolean usecache
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.Object input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0     input  Ljava/lang/Object;
            5    6     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageInputStreamSpi;>;
            8   23     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageInputStreamSpi;>;
           11   23     2  usecache  Z
           13   21     3       spi  Ljavax/imageio/spi/ImageInputStreamSpi;
           20   21     4         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.IllegalArgumentException
          14    18      19  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static javax.imageio.stream.ImageOutputStream createImageOutputStream(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.Object output
         0: .line 400
            aload 0 /* output */
            ifnonnull 2
         1: .line 401
            new java.lang.IllegalArgumentException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 407
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageOutputStreamSpi;
         3: .line 408
            iconst_1
         4: .line 407
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         5: .line 409
            goto 8
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         6: pop
         7: .line 410
            aconst_null
            areturn
        start local 1 // java.util.Iterator iter
         8: .line 413
      StackMap locals: java.util.Iterator
      StackMap stack:
            invokestatic javax.imageio.ImageIO.getUseCache:()Z
            ifeq 9
            invokestatic javax.imageio.ImageIO.hasCachePermission:()Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* usecache */
        start local 2 // boolean usecache
        11: .line 415
            goto 21
        12: .line 416
      StackMap locals: int
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageOutputStreamSpi
            astore 3 /* spi */
        start local 3 // javax.imageio.spi.ImageOutputStreamSpi spi
        13: .line 417
            aload 3 /* spi */
            invokevirtual javax.imageio.spi.ImageOutputStreamSpi.getOutputClass:()Ljava/lang/Class;
            aload 0 /* output */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 21
        14: .line 419
            aload 3 /* spi */
            aload 0 /* output */
        15: .line 420
            iload 2 /* usecache */
        16: .line 421
            invokestatic javax.imageio.ImageIO.getCacheDirectory:()Ljava/io/File;
        17: .line 419
            invokevirtual javax.imageio.spi.ImageOutputStreamSpi.createOutputStreamInstance:(Ljava/lang/Object;ZLjava/io/File;)Ljavax/imageio/stream/ImageOutputStream;
        18: areturn
        19: .line 422
      StackMap locals: java.lang.Object java.util.Iterator int javax.imageio.spi.ImageOutputStreamSpi
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        20: .line 423
            new javax.imageio.IIOException
            dup
            ldc "Can't create cache file!"
            aload 4 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        end local 3 // javax.imageio.spi.ImageOutputStreamSpi spi
        21: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        22: .line 428
            aconst_null
            areturn
        end local 2 // boolean usecache
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.Object output
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0    output  Ljava/lang/Object;
            5    6     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageOutputStreamSpi;>;
            8   23     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageOutputStreamSpi;>;
           11   23     2  usecache  Z
           13   21     3       spi  Ljavax/imageio/spi/ImageOutputStreamSpi;
           20   21     4         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.IllegalArgumentException
          14    18      19  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      output  

  private static <S extends javax.imageio.spi.ImageReaderWriterSpi> java.lang.String[] getReaderWriterInfo(java.lang.Class<S>, javax.imageio.ImageIO$SpiInfo);
    descriptor: (Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.Class spiClass
        start local 1 // javax.imageio.ImageIO$SpiInfo spiInfo
         0: .line 460
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            aload 0 /* spiClass */
            iconst_1
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Z)Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 461
            goto 4
        end local 2 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         2: pop
         3: .line 462
            iconst_0
            anewarray java.lang.String
            areturn
        start local 2 // java.util.Iterator iter
         4: .line 465
      StackMap locals: java.util.Iterator
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* s */
        start local 3 // java.util.HashSet s
         5: .line 466
            goto 10
         6: .line 467
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageReaderWriterSpi
            astore 4 /* spi */
        start local 4 // javax.imageio.spi.ImageReaderWriterSpi spi
         7: .line 468
            aload 1 /* spiInfo */
            aload 4 /* spi */
            invokevirtual javax.imageio.ImageIO$SpiInfo.info:(Ljavax/imageio/spi/ImageReaderWriterSpi;)[Ljava/lang/String;
            astore 5 /* info */
        start local 5 // java.lang.String[] info
         8: .line 469
            aload 5 /* info */
            ifnull 10
         9: .line 470
            aload 3 /* s */
            aload 5 /* info */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String[] info
        end local 4 // javax.imageio.spi.ImageReaderWriterSpi spi
        10: .line 466
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 474
            aload 3 /* s */
            aload 3 /* s */
            invokevirtual java.util.HashSet.size:()I
            anewarray java.lang.String
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 3 // java.util.HashSet s
        end local 2 // java.util.Iterator iter
        end local 1 // javax.imageio.ImageIO$SpiInfo spiInfo
        end local 0 // java.lang.Class spiClass
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  spiClass  Ljava/lang/Class<TS;>;
            0   12     1   spiInfo  Ljavax/imageio/ImageIO$SpiInfo;
            1    2     2      iter  Ljava/util/Iterator<TS;>;
            4   12     2      iter  Ljava/util/Iterator<TS;>;
            5   12     3         s  Ljava/util/HashSet<Ljava/lang/String;>;
            7   10     4       spi  Ljavax/imageio/spi/ImageReaderWriterSpi;
            8   10     5      info  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    Signature: <S:Ljavax/imageio/spi/ImageReaderWriterSpi;>(Ljava/lang/Class<TS;>;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
    MethodParameters:
          Name  Flags
      spiClass  
      spiInfo   

  public static java.lang.String[] getReaderFormatNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 487
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         1: .line 488
            getstatic javax.imageio.ImageIO$SpiInfo.FORMAT_NAMES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 487
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String[] getReaderMIMETypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 499
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         1: .line 500
            getstatic javax.imageio.ImageIO$SpiInfo.MIME_TYPES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 499
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String[] getReaderFileSuffixes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 512
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         1: .line 513
            getstatic javax.imageio.ImageIO$SpiInfo.FILE_SUFFIXES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 512
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Iterator<javax.imageio.ImageReader> getImageReaders();
    descriptor: (Ljava/lang/Object;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Object input
         0: .line 646
            aload 0 /* input */
            ifnonnull 2
         1: .line 647
            new java.lang.IllegalArgumentException
            dup
            ldc "input == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 652
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         3: .line 653
            new javax.imageio.ImageIO$CanDecodeInputFilter
            dup
            aload 0 /* input */
            invokespecial javax.imageio.ImageIO$CanDecodeInputFilter.<init>:(Ljava/lang/Object;)V
         4: .line 654
            iconst_1
         5: .line 652
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         6: .line 655
            goto 9
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         7: pop
         8: .line 656
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
         9: .line 659
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageReaderIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageReaderIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.Object input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  input  Ljava/lang/Object;
            6    7     1   iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
            9   10     1   iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/Object;)Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
    MethodParameters:
       Name  Flags
      input  

  public static java.util.Iterator<javax.imageio.ImageReader> getImageReadersByFormatName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String formatName
         0: .line 708
            aload 0 /* formatName */
            ifnonnull 2
         1: .line 709
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 714
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         3: .line 715
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.readerFormatNamesMethod:Ljava/lang/reflect/Method;
         4: .line 716
            aload 0 /* formatName */
         5: .line 715
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 717
            iconst_1
         7: .line 714
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 718
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 719
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 721
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageReaderIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageReaderIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String formatName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  formatName  Ljava/lang/String;
            8    9     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
           11   12     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
    MethodParameters:
            Name  Flags
      formatName  

  public static java.util.Iterator<javax.imageio.ImageReader> getImageReadersBySuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String fileSuffix
         0: .line 743
            aload 0 /* fileSuffix */
            ifnonnull 2
         1: .line 744
            new java.lang.IllegalArgumentException
            dup
            ldc "fileSuffix == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 749
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         3: .line 750
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.readerFileSuffixesMethod:Ljava/lang/reflect/Method;
         4: .line 751
            aload 0 /* fileSuffix */
         5: .line 750
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 752
            iconst_1
         7: .line 749
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 753
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 754
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 756
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageReaderIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageReaderIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String fileSuffix
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  fileSuffix  Ljava/lang/String;
            8    9     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
           11   12     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
    MethodParameters:
            Name  Flags
      fileSuffix  

  public static java.util.Iterator<javax.imageio.ImageReader> getImageReadersByMIMEType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String MIMEType
         0: .line 778
            aload 0 /* MIMEType */
            ifnonnull 2
         1: .line 779
            new java.lang.IllegalArgumentException
            dup
            ldc "MIMEType == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 784
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         3: .line 785
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.readerMIMETypesMethod:Ljava/lang/reflect/Method;
         4: .line 786
            aload 0 /* MIMEType */
         5: .line 785
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 787
            iconst_1
         7: .line 784
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 788
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 789
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 791
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageReaderIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageReaderIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String MIMEType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  MIMEType  Ljava/lang/String;
            8    9     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
           11   12     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
    MethodParameters:
          Name  Flags
      MIMEType  

  public static java.lang.String[] getWriterFormatNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 804
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         1: .line 805
            getstatic javax.imageio.ImageIO$SpiInfo.FORMAT_NAMES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 804
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String[] getWriterMIMETypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 816
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         1: .line 817
            getstatic javax.imageio.ImageIO$SpiInfo.MIME_TYPES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 816
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String[] getWriterFileSuffixes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 829
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         1: .line 830
            getstatic javax.imageio.ImageIO$SpiInfo.FILE_SUFFIXES:Ljavax/imageio/ImageIO$SpiInfo;
         2: .line 829
            invokestatic javax.imageio.ImageIO.getReaderWriterInfo:(Ljava/lang/Class;Ljavax/imageio/ImageIO$SpiInfo;)[Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean contains(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String[] names
        start local 1 // java.lang.String name
         0: .line 863
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 864
      StackMap locals: int
      StackMap stack:
            aload 1 /* name */
            aload 0 /* names */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 865
            iconst_1
            ireturn
         4: .line 863
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* names */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 869
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.String[] names
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  names  [Ljava/lang/String;
            0    7     1   name  Ljava/lang/String;
            1    6     2      i  I
    MethodParameters:
       Name  Flags
      names  
      name   

  public static java.util.Iterator<javax.imageio.ImageWriter> getImageWritersByFormatName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String formatName
         0: .line 891
            aload 0 /* formatName */
            ifnonnull 2
         1: .line 892
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 897
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         3: .line 898
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.writerFormatNamesMethod:Ljava/lang/reflect/Method;
         4: .line 899
            aload 0 /* formatName */
         5: .line 898
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 900
            iconst_1
         7: .line 897
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 901
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 902
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 904
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageWriterIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageWriterIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String formatName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  formatName  Ljava/lang/String;
            8    9     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           11   12     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
    MethodParameters:
            Name  Flags
      formatName  

  public static java.util.Iterator<javax.imageio.ImageWriter> getImageWritersBySuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String fileSuffix
         0: .line 925
            aload 0 /* fileSuffix */
            ifnonnull 2
         1: .line 926
            new java.lang.IllegalArgumentException
            dup
            ldc "fileSuffix == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 931
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         3: .line 932
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.writerFileSuffixesMethod:Ljava/lang/reflect/Method;
         4: .line 933
            aload 0 /* fileSuffix */
         5: .line 932
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 934
            iconst_1
         7: .line 931
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 935
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 936
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 938
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageWriterIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageWriterIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String fileSuffix
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  fileSuffix  Ljava/lang/String;
            8    9     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           11   12     1        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
    MethodParameters:
            Name  Flags
      fileSuffix  

  public static java.util.Iterator<javax.imageio.ImageWriter> getImageWritersByMIMEType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String MIMEType
         0: .line 959
            aload 0 /* MIMEType */
            ifnonnull 2
         1: .line 960
            new java.lang.IllegalArgumentException
            dup
            ldc "MIMEType == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 965
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         3: .line 966
            new javax.imageio.ImageIO$ContainsFilter
            dup
            getstatic javax.imageio.ImageIO.writerMIMETypesMethod:Ljava/lang/reflect/Method;
         4: .line 967
            aload 0 /* MIMEType */
         5: .line 966
            invokespecial javax.imageio.ImageIO$ContainsFilter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/String;)V
         6: .line 968
            iconst_1
         7: .line 965
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         8: .line 969
            goto 11
        end local 1 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 970
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 1 // java.util.Iterator iter
        11: .line 972
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageWriterIterator
            dup
            aload 1 /* iter */
            invokespecial javax.imageio.ImageIO$ImageWriterIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // java.lang.String MIMEType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  MIMEType  Ljava/lang/String;
            8    9     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           11   12     1      iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.IllegalArgumentException
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
    MethodParameters:
          Name  Flags
      MIMEType  

  public static javax.imageio.ImageWriter getImageWriter(javax.imageio.ImageReader);
    descriptor: (Ljavax/imageio/ImageReader;)Ljavax/imageio/ImageWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // javax.imageio.ImageReader reader
         0: .line 1005
            aload 0 /* reader */
            ifnonnull 2
         1: .line 1006
            new java.lang.IllegalArgumentException
            dup
            ldc "reader == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* reader */
            invokevirtual javax.imageio.ImageReader.getOriginatingProvider:()Ljavax/imageio/spi/ImageReaderSpi;
            astore 1 /* readerSpi */
        start local 1 // javax.imageio.spi.ImageReaderSpi readerSpi
         3: .line 1010
            aload 1 /* readerSpi */
            ifnonnull 18
         4: .line 1015
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
         5: .line 1016
            iconst_0
         6: .line 1015
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Z)Ljava/util/Iterator;
         7: .line 1014
            astore 2 /* readerSpiIter */
        start local 2 // java.util.Iterator readerSpiIter
         8: .line 1017
            goto 15
        end local 2 // java.util.Iterator readerSpiIter
      StackMap locals: javax.imageio.ImageReader javax.imageio.spi.ImageReaderSpi
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 1018
            aconst_null
            areturn
        start local 2 // java.util.Iterator readerSpiIter
        11: .line 1022
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* readerSpiIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageReaderSpi
            astore 3 /* temp */
        start local 3 // javax.imageio.spi.ImageReaderSpi temp
        12: .line 1023
            aload 3 /* temp */
            aload 0 /* reader */
            invokevirtual javax.imageio.spi.ImageReaderSpi.isOwnReader:(Ljavax/imageio/ImageReader;)Z
            ifeq 15
        13: .line 1024
            aload 3 /* temp */
            astore 1 /* readerSpi */
        14: .line 1025
            goto 16
        end local 3 // javax.imageio.spi.ImageReaderSpi temp
        15: .line 1021
      StackMap locals:
      StackMap stack:
            aload 2 /* readerSpiIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 1028
      StackMap locals:
      StackMap stack:
            aload 1 /* readerSpi */
            ifnonnull 18
        17: .line 1029
            aconst_null
            areturn
        end local 2 // java.util.Iterator readerSpiIter
        18: .line 1033
      StackMap locals:
      StackMap stack:
            aload 1 /* readerSpi */
            invokevirtual javax.imageio.spi.ImageReaderSpi.getImageWriterSpiNames:()[Ljava/lang/String;
            astore 2 /* writerNames */
        start local 2 // java.lang.String[] writerNames
        19: .line 1034
            aload 2 /* writerNames */
            ifnonnull 21
        20: .line 1035
            aconst_null
            areturn
        21: .line 1038
      StackMap locals: java.lang.String[]
      StackMap stack:
            aconst_null
            astore 3 /* writerSpiClass */
        start local 3 // java.lang.Class writerSpiClass
        22: .line 1040
            aload 2 /* writerNames */
            iconst_0
            aaload
            iconst_1
        23: .line 1041
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
        24: .line 1040
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* writerSpiClass */
        25: .line 1042
            goto 28
      StackMap locals: javax.imageio.ImageReader javax.imageio.spi.ImageReaderSpi java.lang.String[] java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
        26: pop
        27: .line 1043
            aconst_null
            areturn
        28: .line 1047
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            aload 3 /* writerSpiClass */
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviderByClass:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageWriterSpi
        29: .line 1046
            astore 4 /* writerSpi */
        start local 4 // javax.imageio.spi.ImageWriterSpi writerSpi
        30: .line 1048
            aload 4 /* writerSpi */
            ifnonnull 32
        31: .line 1049
            aconst_null
            areturn
        32: .line 1053
      StackMap locals: javax.imageio.spi.ImageWriterSpi
      StackMap stack:
            aload 4 /* writerSpi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.createWriterInstance:()Ljavax/imageio/ImageWriter;
        33: areturn
        34: .line 1054
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        35: .line 1056
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            aload 4 /* writerSpi */
        36: .line 1057
            ldc Ljavax/imageio/spi/ImageWriterSpi;
        37: .line 1056
            invokevirtual javax.imageio.spi.IIORegistry.deregisterServiceProvider:(Ljava/lang/Object;Ljava/lang/Class;)Z
            pop
        38: .line 1058
            aconst_null
            areturn
        end local 4 // javax.imageio.spi.ImageWriterSpi writerSpi
        end local 3 // java.lang.Class writerSpiClass
        end local 2 // java.lang.String[] writerNames
        end local 1 // javax.imageio.spi.ImageReaderSpi readerSpi
        end local 0 // javax.imageio.ImageReader reader
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   39     0          reader  Ljavax/imageio/ImageReader;
            3   39     1       readerSpi  Ljavax/imageio/spi/ImageReaderSpi;
            8    9     2   readerSpiIter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
           11   18     2   readerSpiIter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageReaderSpi;>;
           12   15     3            temp  Ljavax/imageio/spi/ImageReaderSpi;
           19   39     2     writerNames  [Ljava/lang/String;
           22   39     3  writerSpiClass  Ljava/lang/Class<*>;
           30   39     4       writerSpi  Ljavax/imageio/spi/ImageWriterSpi;
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.IllegalArgumentException
          22    25      26  Class java.lang.ClassNotFoundException
          32    33      34  Class java.io.IOException
    MethodParameters:
        Name  Flags
      reader  

  public static javax.imageio.ImageReader getImageReader(javax.imageio.ImageWriter);
    descriptor: (Ljavax/imageio/ImageWriter;)Ljavax/imageio/ImageReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // javax.imageio.ImageWriter writer
         0: .line 1085
            aload 0 /* writer */
            ifnonnull 2
         1: .line 1086
            new java.lang.IllegalArgumentException
            dup
            ldc "writer == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1089
      StackMap locals:
      StackMap stack:
            aload 0 /* writer */
            invokevirtual javax.imageio.ImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 1 /* writerSpi */
        start local 1 // javax.imageio.spi.ImageWriterSpi writerSpi
         3: .line 1090
            aload 1 /* writerSpi */
            ifnonnull 18
         4: .line 1095
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         5: .line 1096
            iconst_0
         6: .line 1095
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Z)Ljava/util/Iterator;
         7: .line 1094
            astore 2 /* writerSpiIter */
        start local 2 // java.util.Iterator writerSpiIter
         8: .line 1097
            goto 15
        end local 2 // java.util.Iterator writerSpiIter
      StackMap locals: javax.imageio.ImageWriter javax.imageio.spi.ImageWriterSpi
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 1098
            aconst_null
            areturn
        start local 2 // java.util.Iterator writerSpiIter
        11: .line 1102
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* writerSpiIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageWriterSpi
            astore 3 /* temp */
        start local 3 // javax.imageio.spi.ImageWriterSpi temp
        12: .line 1103
            aload 3 /* temp */
            aload 0 /* writer */
            invokevirtual javax.imageio.spi.ImageWriterSpi.isOwnWriter:(Ljavax/imageio/ImageWriter;)Z
            ifeq 15
        13: .line 1104
            aload 3 /* temp */
            astore 1 /* writerSpi */
        14: .line 1105
            goto 16
        end local 3 // javax.imageio.spi.ImageWriterSpi temp
        15: .line 1101
      StackMap locals:
      StackMap stack:
            aload 2 /* writerSpiIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 1108
      StackMap locals:
      StackMap stack:
            aload 1 /* writerSpi */
            ifnonnull 18
        17: .line 1109
            aconst_null
            areturn
        end local 2 // java.util.Iterator writerSpiIter
        18: .line 1113
      StackMap locals:
      StackMap stack:
            aload 1 /* writerSpi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.getImageReaderSpiNames:()[Ljava/lang/String;
            astore 2 /* readerNames */
        start local 2 // java.lang.String[] readerNames
        19: .line 1114
            aload 2 /* readerNames */
            ifnonnull 21
        20: .line 1115
            aconst_null
            areturn
        21: .line 1118
      StackMap locals: java.lang.String[]
      StackMap stack:
            aconst_null
            astore 3 /* readerSpiClass */
        start local 3 // java.lang.Class readerSpiClass
        22: .line 1120
            aload 2 /* readerNames */
            iconst_0
            aaload
            iconst_1
        23: .line 1121
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
        24: .line 1120
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* readerSpiClass */
        25: .line 1122
            goto 28
      StackMap locals: javax.imageio.ImageWriter javax.imageio.spi.ImageWriterSpi java.lang.String[] java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
        26: pop
        27: .line 1123
            aconst_null
            areturn
        28: .line 1127
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            aload 3 /* readerSpiClass */
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviderByClass:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.imageio.spi.ImageReaderSpi
        29: .line 1126
            astore 4 /* readerSpi */
        start local 4 // javax.imageio.spi.ImageReaderSpi readerSpi
        30: .line 1128
            aload 4 /* readerSpi */
            ifnonnull 32
        31: .line 1129
            aconst_null
            areturn
        32: .line 1133
      StackMap locals: javax.imageio.spi.ImageReaderSpi
      StackMap stack:
            aload 4 /* readerSpi */
            invokevirtual javax.imageio.spi.ImageReaderSpi.createReaderInstance:()Ljavax/imageio/ImageReader;
        33: areturn
        34: .line 1134
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        35: .line 1136
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            aload 4 /* readerSpi */
        36: .line 1137
            ldc Ljavax/imageio/spi/ImageReaderSpi;
        37: .line 1136
            invokevirtual javax.imageio.spi.IIORegistry.deregisterServiceProvider:(Ljava/lang/Object;Ljava/lang/Class;)Z
            pop
        38: .line 1138
            aconst_null
            areturn
        end local 4 // javax.imageio.spi.ImageReaderSpi readerSpi
        end local 3 // java.lang.Class readerSpiClass
        end local 2 // java.lang.String[] readerNames
        end local 1 // javax.imageio.spi.ImageWriterSpi writerSpi
        end local 0 // javax.imageio.ImageWriter writer
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   39     0          writer  Ljavax/imageio/ImageWriter;
            3   39     1       writerSpi  Ljavax/imageio/spi/ImageWriterSpi;
            8    9     2   writerSpiIter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           11   18     2   writerSpiIter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           12   15     3            temp  Ljavax/imageio/spi/ImageWriterSpi;
           19   39     2     readerNames  [Ljava/lang/String;
           22   39     3  readerSpiClass  Ljava/lang/Class<*>;
           30   39     4       readerSpi  Ljavax/imageio/spi/ImageReaderSpi;
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.IllegalArgumentException
          22    25      26  Class java.lang.ClassNotFoundException
          32    33      34  Class java.io.IOException
    MethodParameters:
        Name  Flags
      writer  

  public static java.util.Iterator<javax.imageio.ImageWriter> getImageWriters(javax.imageio.ImageTypeSpecifier, java.lang.String);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javax.imageio.ImageTypeSpecifier type
        start local 1 // java.lang.String formatName
         0: .line 1162
            aload 0 /* type */
            ifnonnull 2
         1: .line 1163
            new java.lang.IllegalArgumentException
            dup
            ldc "type == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1165
      StackMap locals:
      StackMap stack:
            aload 1 /* formatName */
            ifnonnull 4
         3: .line 1166
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1172
      StackMap locals:
      StackMap stack:
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
         5: .line 1173
            new javax.imageio.ImageIO$CanEncodeImageAndFormatFilter
            dup
            aload 0 /* type */
         6: .line 1174
            aload 1 /* formatName */
         7: .line 1173
            invokespecial javax.imageio.ImageIO$CanEncodeImageAndFormatFilter.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljava/lang/String;)V
         8: .line 1175
            iconst_1
         9: .line 1172
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
        10: .line 1176
            goto 13
        end local 2 // java.util.Iterator iter
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        11: pop
        12: .line 1177
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 2 // java.util.Iterator iter
        13: .line 1180
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageWriterIterator
            dup
            aload 2 /* iter */
            invokespecial javax.imageio.ImageIO$ImageWriterIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // java.lang.String formatName
        end local 0 // javax.imageio.ImageTypeSpecifier type
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        type  Ljavax/imageio/ImageTypeSpecifier;
            0   14     1  formatName  Ljava/lang/String;
           10   11     2        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
           13   14     2        iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageWriterSpi;>;
      Exception table:
        from    to  target  type
           4    10      11  Class java.lang.IllegalArgumentException
    Signature: (Ljavax/imageio/ImageTypeSpecifier;Ljava/lang/String;)Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
    MethodParameters:
            Name  Flags
      type        
      formatName  

  public static java.util.Iterator<javax.imageio.ImageTranscoder> getImageTranscoders(javax.imageio.ImageReader, javax.imageio.ImageWriter);
    descriptor: (Ljavax/imageio/ImageReader;Ljavax/imageio/ImageWriter;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // javax.imageio.ImageReader reader
        start local 1 // javax.imageio.ImageWriter writer
         0: .line 1247
            aload 0 /* reader */
            ifnonnull 2
         1: .line 1248
            new java.lang.IllegalArgumentException
            dup
            ldc "reader == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1250
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            ifnonnull 4
         3: .line 1251
            new java.lang.IllegalArgumentException
            dup
            ldc "writer == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1253
      StackMap locals:
      StackMap stack:
            aload 0 /* reader */
            invokevirtual javax.imageio.ImageReader.getOriginatingProvider:()Ljavax/imageio/spi/ImageReaderSpi;
            astore 2 /* readerSpi */
        start local 2 // javax.imageio.spi.ImageReaderSpi readerSpi
         5: .line 1254
            aload 1 /* writer */
            invokevirtual javax.imageio.ImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 3 /* writerSpi */
        start local 3 // javax.imageio.spi.ImageWriterSpi writerSpi
         6: .line 1256
            new javax.imageio.ImageIO$TranscoderFilter
            dup
            aload 2 /* readerSpi */
            aload 3 /* writerSpi */
            invokespecial javax.imageio.ImageIO$TranscoderFilter.<init>:(Ljavax/imageio/spi/ImageReaderSpi;Ljavax/imageio/spi/ImageWriterSpi;)V
         7: .line 1255
            astore 4 /* filter */
        start local 4 // javax.imageio.spi.ServiceRegistry$Filter filter
         8: .line 1261
            getstatic javax.imageio.ImageIO.theRegistry:Ljavax/imageio/spi/IIORegistry;
            ldc Ljavax/imageio/spi/ImageTranscoderSpi;
         9: .line 1262
            aload 4 /* filter */
            iconst_1
        10: .line 1261
            invokevirtual javax.imageio.spi.IIORegistry.getServiceProviders:(Ljava/lang/Class;Ljavax/imageio/spi/ServiceRegistry$Filter;Z)Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
        11: .line 1263
            goto 14
        end local 5 // java.util.Iterator iter
      StackMap locals: javax.imageio.ImageReader javax.imageio.ImageWriter javax.imageio.spi.ImageReaderSpi javax.imageio.spi.ImageWriterSpi javax.imageio.spi.ServiceRegistry$Filter
      StackMap stack: java.lang.IllegalArgumentException
        12: pop
        13: .line 1264
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            areturn
        start local 5 // java.util.Iterator iter
        14: .line 1266
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.ImageIO$ImageTranscoderIterator
            dup
            aload 5 /* iter */
            invokespecial javax.imageio.ImageIO$ImageTranscoderIterator.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 5 // java.util.Iterator iter
        end local 4 // javax.imageio.spi.ServiceRegistry$Filter filter
        end local 3 // javax.imageio.spi.ImageWriterSpi writerSpi
        end local 2 // javax.imageio.spi.ImageReaderSpi readerSpi
        end local 1 // javax.imageio.ImageWriter writer
        end local 0 // javax.imageio.ImageReader reader
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0     reader  Ljavax/imageio/ImageReader;
            0   15     1     writer  Ljavax/imageio/ImageWriter;
            5   15     2  readerSpi  Ljavax/imageio/spi/ImageReaderSpi;
            6   15     3  writerSpi  Ljavax/imageio/spi/ImageWriterSpi;
            8   15     4     filter  Ljavax/imageio/spi/ServiceRegistry$Filter;
           11   12     5       iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageTranscoderSpi;>;
           14   15     5       iter  Ljava/util/Iterator<Ljavax/imageio/spi/ImageTranscoderSpi;>;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.IllegalArgumentException
    Signature: (Ljavax/imageio/ImageReader;Ljavax/imageio/ImageWriter;)Ljava/util/Iterator<Ljavax/imageio/ImageTranscoder;>;
    MethodParameters:
        Name  Flags
      reader  
      writer  

  public static java.awt.image.BufferedImage read(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/awt/image/BufferedImage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.io.File input
         0: .line 1304
            aload 0 /* input */
            ifnonnull 2
         1: .line 1305
            new java.lang.IllegalArgumentException
            dup
            ldc "input == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1307
      StackMap locals:
      StackMap stack:
            aload 0 /* input */
            invokevirtual java.io.File.canRead:()Z
            ifne 4
         3: .line 1308
            new javax.imageio.IIOException
            dup
            ldc "Can't read input file!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1311
      StackMap locals:
      StackMap stack:
            aload 0 /* input */
            invokestatic javax.imageio.ImageIO.createImageInputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageInputStream;
            astore 1 /* stream */
        start local 1 // javax.imageio.stream.ImageInputStream stream
         5: .line 1312
            aload 1 /* stream */
            ifnonnull 7
         6: .line 1313
            new javax.imageio.IIOException
            dup
            ldc "Can't create an ImageInputStream!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1315
      StackMap locals: javax.imageio.stream.ImageInputStream
      StackMap stack:
            aload 1 /* stream */
            invokestatic javax.imageio.ImageIO.read:(Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;
            astore 2 /* bi */
        start local 2 // java.awt.image.BufferedImage bi
         8: .line 1316
            aload 2 /* bi */
            ifnonnull 10
         9: .line 1317
            aload 1 /* stream */
            invokeinterface javax.imageio.stream.ImageInputStream.close:()V
        10: .line 1319
      StackMap locals: java.awt.image.BufferedImage
      StackMap stack:
            aload 2 /* bi */
            areturn
        end local 2 // java.awt.image.BufferedImage bi
        end local 1 // javax.imageio.stream.ImageInputStream stream
        end local 0 // java.io.File input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0   input  Ljava/io/File;
            5   11     1  stream  Ljavax/imageio/stream/ImageInputStream;
            8   11     2      bi  Ljava/awt/image/BufferedImage;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static java.awt.image.BufferedImage read(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/awt/image/BufferedImage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.io.InputStream input
         0: .line 1355
            aload 0 /* input */
            ifnonnull 2
         1: .line 1356
            new java.lang.IllegalArgumentException
            dup
            ldc "input == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1359
      StackMap locals:
      StackMap stack:
            aload 0 /* input */
            invokestatic javax.imageio.ImageIO.createImageInputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageInputStream;
            astore 1 /* stream */
        start local 1 // javax.imageio.stream.ImageInputStream stream
         3: .line 1360
            aload 1 /* stream */
            ifnonnull 5
         4: .line 1361
            new javax.imageio.IIOException
            dup
            ldc "Can't create an ImageInputStream!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1363
      StackMap locals: javax.imageio.stream.ImageInputStream
      StackMap stack:
            aload 1 /* stream */
            invokestatic javax.imageio.ImageIO.read:(Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;
            astore 2 /* bi */
        start local 2 // java.awt.image.BufferedImage bi
         6: .line 1364
            aload 2 /* bi */
            ifnonnull 8
         7: .line 1365
            aload 1 /* stream */
            invokeinterface javax.imageio.stream.ImageInputStream.close:()V
         8: .line 1367
      StackMap locals: java.awt.image.BufferedImage
      StackMap stack:
            aload 2 /* bi */
            areturn
        end local 2 // java.awt.image.BufferedImage bi
        end local 1 // javax.imageio.stream.ImageInputStream stream
        end local 0 // java.io.InputStream input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0   input  Ljava/io/InputStream;
            3    9     1  stream  Ljavax/imageio/stream/ImageInputStream;
            6    9     2      bi  Ljava/awt/image/BufferedImage;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static java.awt.image.BufferedImage read(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/awt/image/BufferedImage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.net.URL input
         0: .line 1399
            aload 0 /* input */
            ifnonnull 2
         1: .line 1400
            new java.lang.IllegalArgumentException
            dup
            ldc "input == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1403
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* istream */
        start local 1 // java.io.InputStream istream
         3: .line 1405
            aload 0 /* input */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 1 /* istream */
         4: .line 1406
            goto 7
      StackMap locals: java.net.URL java.io.InputStream
      StackMap stack: java.io.IOException
         5: astore 2 /* e */
        start local 2 // java.io.IOException e
         6: .line 1407
            new javax.imageio.IIOException
            dup
            ldc "Can't get input stream from URL!"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         7: .line 1409
      StackMap locals:
      StackMap stack:
            aload 1 /* istream */
            invokestatic javax.imageio.ImageIO.createImageInputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageInputStream;
            astore 2 /* stream */
        start local 2 // javax.imageio.stream.ImageInputStream stream
         8: .line 1410
            aload 2 /* stream */
            ifnonnull 11
         9: .line 1415
            aload 1 /* istream */
            invokevirtual java.io.InputStream.close:()V
        10: .line 1416
            new javax.imageio.IIOException
            dup
            ldc "Can't create an ImageInputStream!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1420
      StackMap locals: javax.imageio.stream.ImageInputStream
      StackMap stack:
            aload 2 /* stream */
            invokestatic javax.imageio.ImageIO.read:(Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;
            astore 3 /* bi */
        start local 3 // java.awt.image.BufferedImage bi
        12: .line 1421
            aload 3 /* bi */
            ifnonnull 18
        13: .line 1422
            aload 2 /* stream */
            invokeinterface javax.imageio.stream.ImageInputStream.close:()V
        14: .line 1424
            goto 18
        end local 3 // java.awt.image.BufferedImage bi
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 1425
            aload 1 /* istream */
            invokevirtual java.io.InputStream.close:()V
        17: .line 1426
            aload 4
            athrow
        start local 3 // java.awt.image.BufferedImage bi
        18: .line 1425
      StackMap locals: java.awt.image.BufferedImage
      StackMap stack:
            aload 1 /* istream */
            invokevirtual java.io.InputStream.close:()V
        19: .line 1427
            aload 3 /* bi */
            areturn
        end local 3 // java.awt.image.BufferedImage bi
        end local 2 // javax.imageio.stream.ImageInputStream stream
        end local 1 // java.io.InputStream istream
        end local 0 // java.net.URL input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0    input  Ljava/net/URL;
            3   20     1  istream  Ljava/io/InputStream;
            6    7     2        e  Ljava/io/IOException;
            8   20     2   stream  Ljavax/imageio/stream/ImageInputStream;
           12   15     3       bi  Ljava/awt/image/BufferedImage;
           18   20     3       bi  Ljava/awt/image/BufferedImage;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
          11    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static java.awt.image.BufferedImage read(javax.imageio.stream.ImageInputStream);
    descriptor: (Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // javax.imageio.stream.ImageInputStream stream
         0: .line 1454
            aload 0 /* stream */
            ifnonnull 2
         1: .line 1455
            new java.lang.IllegalArgumentException
            dup
            ldc "stream == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1458
      StackMap locals:
      StackMap stack:
            aload 0 /* stream */
            invokestatic javax.imageio.ImageIO.getImageReaders:(Ljava/lang/Object;)Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         3: .line 1459
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         4: .line 1460
            aconst_null
            areturn
         5: .line 1463
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageReader
            astore 2 /* reader */
        start local 2 // javax.imageio.ImageReader reader
         6: .line 1464
            aload 2 /* reader */
            invokevirtual javax.imageio.ImageReader.getDefaultReadParam:()Ljavax/imageio/ImageReadParam;
            astore 3 /* param */
        start local 3 // javax.imageio.ImageReadParam param
         7: .line 1465
            aload 2 /* reader */
            aload 0 /* stream */
            iconst_1
            iconst_1
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         8: .line 1468
            aload 2 /* reader */
            iconst_0
            aload 3 /* param */
            invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            astore 4 /* bi */
        start local 4 // java.awt.image.BufferedImage bi
         9: .line 1469
            goto 14
        end local 4 // java.awt.image.BufferedImage bi
      StackMap locals: javax.imageio.stream.ImageInputStream java.util.Iterator javax.imageio.ImageReader javax.imageio.ImageReadParam
      StackMap stack: java.lang.Throwable
        10: astore 5
        11: .line 1470
            aload 2 /* reader */
            invokevirtual javax.imageio.ImageReader.dispose:()V
        12: .line 1471
            aload 0 /* stream */
            invokeinterface javax.imageio.stream.ImageInputStream.close:()V
        13: .line 1472
            aload 5
            athrow
        start local 4 // java.awt.image.BufferedImage bi
        14: .line 1470
      StackMap locals: java.awt.image.BufferedImage
      StackMap stack:
            aload 2 /* reader */
            invokevirtual javax.imageio.ImageReader.dispose:()V
        15: .line 1471
            aload 0 /* stream */
            invokeinterface javax.imageio.stream.ImageInputStream.close:()V
        16: .line 1473
            aload 4 /* bi */
            areturn
        end local 4 // java.awt.image.BufferedImage bi
        end local 3 // javax.imageio.ImageReadParam param
        end local 2 // javax.imageio.ImageReader reader
        end local 1 // java.util.Iterator iter
        end local 0 // javax.imageio.stream.ImageInputStream stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0  stream  Ljavax/imageio/stream/ImageInputStream;
            3   17     1    iter  Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
            6   17     2  reader  Ljavax/imageio/ImageReader;
            7   17     3   param  Ljavax/imageio/ImageReadParam;
            9   10     4      bi  Ljava/awt/image/BufferedImage;
           14   17     4      bi  Ljava/awt/image/BufferedImage;
      Exception table:
        from    to  target  type
           8    10      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public static boolean write(java.awt.image.RenderedImage, java.lang.String, javax.imageio.stream.ImageOutputStream);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljavax/imageio/stream/ImageOutputStream;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.awt.image.RenderedImage im
        start local 1 // java.lang.String formatName
        start local 2 // javax.imageio.stream.ImageOutputStream output
         0: .line 1502
            aload 0 /* im */
            ifnonnull 2
         1: .line 1503
            new java.lang.IllegalArgumentException
            dup
            ldc "im == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1505
      StackMap locals:
      StackMap stack:
            aload 1 /* formatName */
            ifnonnull 4
         3: .line 1506
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1508
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            ifnonnull 6
         5: .line 1509
            new java.lang.IllegalArgumentException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1512
      StackMap locals:
      StackMap stack:
            aload 0 /* im */
            aload 0 /* im */
            aload 1 /* formatName */
            invokestatic javax.imageio.ImageIO.getWriter:(Ljava/awt/image/RenderedImage;Ljava/lang/String;)Ljavax/imageio/ImageWriter;
            aload 2 /* output */
            invokestatic javax.imageio.ImageIO.doWrite:(Ljava/awt/image/RenderedImage;Ljavax/imageio/ImageWriter;Ljavax/imageio/stream/ImageOutputStream;)Z
            ireturn
        end local 2 // javax.imageio.stream.ImageOutputStream output
        end local 1 // java.lang.String formatName
        end local 0 // java.awt.image.RenderedImage im
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0          im  Ljava/awt/image/RenderedImage;
            0    7     1  formatName  Ljava/lang/String;
            0    7     2      output  Ljavax/imageio/stream/ImageOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      im          
      formatName  
      output      

  public static boolean write(java.awt.image.RenderedImage, java.lang.String, java.io.File);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.awt.image.RenderedImage im
        start local 1 // java.lang.String formatName
        start local 2 // java.io.File output
         0: .line 1536
            aload 2 /* output */
            ifnonnull 2
         1: .line 1537
            new java.lang.IllegalArgumentException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1540
      StackMap locals:
      StackMap stack:
            aload 0 /* im */
            aload 1 /* formatName */
            invokestatic javax.imageio.ImageIO.getWriter:(Ljava/awt/image/RenderedImage;Ljava/lang/String;)Ljavax/imageio/ImageWriter;
            astore 3 /* writer */
        start local 3 // javax.imageio.ImageWriter writer
         3: .line 1541
            aload 3 /* writer */
            ifnonnull 5
         4: .line 1545
            iconst_0
            ireturn
         5: .line 1548
      StackMap locals: javax.imageio.ImageWriter
      StackMap stack:
            aload 2 /* output */
            invokevirtual java.io.File.delete:()Z
            pop
         6: .line 1549
            aload 2 /* output */
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            astore 4 /* stream */
        start local 4 // javax.imageio.stream.ImageOutputStream stream
         7: .line 1550
            aload 4 /* stream */
            ifnonnull 9
         8: .line 1551
            new javax.imageio.IIOException
            dup
            ldc "Can't create an ImageOutputStream!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1554
      StackMap locals: javax.imageio.stream.ImageOutputStream
      StackMap stack:
            aload 0 /* im */
            aload 3 /* writer */
            aload 4 /* stream */
            invokestatic javax.imageio.ImageIO.doWrite:(Ljava/awt/image/RenderedImage;Ljavax/imageio/ImageWriter;Ljavax/imageio/stream/ImageOutputStream;)Z
            istore 6
        10: .line 1556
            aload 4 /* stream */
            invokeinterface javax.imageio.stream.ImageOutputStream.close:()V
        11: .line 1554
            iload 6
            ireturn
        12: .line 1555
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 1556
            aload 4 /* stream */
            invokeinterface javax.imageio.stream.ImageOutputStream.close:()V
        14: .line 1557
            aload 5
            athrow
        end local 4 // javax.imageio.stream.ImageOutputStream stream
        end local 3 // javax.imageio.ImageWriter writer
        end local 2 // java.io.File output
        end local 1 // java.lang.String formatName
        end local 0 // java.awt.image.RenderedImage im
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0          im  Ljava/awt/image/RenderedImage;
            0   15     1  formatName  Ljava/lang/String;
            0   15     2      output  Ljava/io/File;
            3   15     3      writer  Ljavax/imageio/ImageWriter;
            7   15     4      stream  Ljavax/imageio/stream/ImageOutputStream;
      Exception table:
        from    to  target  type
           9    10      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      im          
      formatName  
      output      

  public static boolean write(java.awt.image.RenderedImage, java.lang.String, java.io.OutputStream);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/OutputStream;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.awt.image.RenderedImage im
        start local 1 // java.lang.String formatName
        start local 2 // java.io.OutputStream output
         0: .line 1586
            aload 2 /* output */
            ifnonnull 2
         1: .line 1587
            new java.lang.IllegalArgumentException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1589
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            astore 3 /* stream */
        start local 3 // javax.imageio.stream.ImageOutputStream stream
         3: .line 1590
            aload 3 /* stream */
            ifnonnull 5
         4: .line 1591
            new javax.imageio.IIOException
            dup
            ldc "Can't create an ImageOutputStream!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1594
      StackMap locals: javax.imageio.stream.ImageOutputStream
      StackMap stack:
            aload 0 /* im */
            aload 0 /* im */
            aload 1 /* formatName */
            invokestatic javax.imageio.ImageIO.getWriter:(Ljava/awt/image/RenderedImage;Ljava/lang/String;)Ljavax/imageio/ImageWriter;
            aload 3 /* stream */
            invokestatic javax.imageio.ImageIO.doWrite:(Ljava/awt/image/RenderedImage;Ljavax/imageio/ImageWriter;Ljavax/imageio/stream/ImageOutputStream;)Z
            istore 5
         6: .line 1596
            aload 3 /* stream */
            invokeinterface javax.imageio.stream.ImageOutputStream.close:()V
         7: .line 1594
            iload 5
            ireturn
         8: .line 1595
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         9: .line 1596
            aload 3 /* stream */
            invokeinterface javax.imageio.stream.ImageOutputStream.close:()V
        10: .line 1597
            aload 4
            athrow
        end local 3 // javax.imageio.stream.ImageOutputStream stream
        end local 2 // java.io.OutputStream output
        end local 1 // java.lang.String formatName
        end local 0 // java.awt.image.RenderedImage im
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0          im  Ljava/awt/image/RenderedImage;
            0   11     1  formatName  Ljava/lang/String;
            0   11     2      output  Ljava/io/OutputStream;
            3   11     3      stream  Ljavax/imageio/stream/ImageOutputStream;
      Exception table:
        from    to  target  type
           5     6       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      im          
      formatName  
      output      

  private static javax.imageio.ImageWriter getWriter(java.awt.image.RenderedImage, java.lang.String);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/lang/String;)Ljavax/imageio/ImageWriter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.awt.image.RenderedImage im
        start local 1 // java.lang.String formatName
         0: .line 1608
            aload 0 /* im */
            invokestatic javax.imageio.ImageTypeSpecifier.createFromRenderedImage:(Ljava/awt/image/RenderedImage;)Ljavax/imageio/ImageTypeSpecifier;
         1: .line 1607
            astore 2 /* type */
        start local 2 // javax.imageio.ImageTypeSpecifier type
         2: .line 1609
            aload 2 /* type */
            aload 1 /* formatName */
            invokestatic javax.imageio.ImageIO.getImageWriters:(Ljavax/imageio/ImageTypeSpecifier;Ljava/lang/String;)Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: .line 1611
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 5
         4: .line 1612
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageWriter
            areturn
         5: .line 1614
      StackMap locals: javax.imageio.ImageTypeSpecifier java.util.Iterator
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.util.Iterator iter
        end local 2 // javax.imageio.ImageTypeSpecifier type
        end local 1 // java.lang.String formatName
        end local 0 // java.awt.image.RenderedImage im
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0          im  Ljava/awt/image/RenderedImage;
            0    6     1  formatName  Ljava/lang/String;
            2    6     2        type  Ljavax/imageio/ImageTypeSpecifier;
            3    6     3        iter  Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
    MethodParameters:
            Name  Flags
      im          
      formatName  

  private static boolean doWrite(java.awt.image.RenderedImage, javax.imageio.ImageWriter, javax.imageio.stream.ImageOutputStream);
    descriptor: (Ljava/awt/image/RenderedImage;Ljavax/imageio/ImageWriter;Ljavax/imageio/stream/ImageOutputStream;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.awt.image.RenderedImage im
        start local 1 // javax.imageio.ImageWriter writer
        start local 2 // javax.imageio.stream.ImageOutputStream output
         0: .line 1623
            aload 1 /* writer */
            ifnonnull 2
         1: .line 1624
            iconst_0
            ireturn
         2: .line 1626
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            aload 2 /* output */
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         3: .line 1628
            aload 1 /* writer */
            aload 0 /* im */
            invokevirtual javax.imageio.ImageWriter.write:(Ljava/awt/image/RenderedImage;)V
         4: .line 1629
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 1630
            aload 1 /* writer */
            invokevirtual javax.imageio.ImageWriter.dispose:()V
         7: .line 1631
            aload 2 /* output */
            invokeinterface javax.imageio.stream.ImageOutputStream.flush:()V
         8: .line 1632
            aload 3
            athrow
         9: .line 1630
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            invokevirtual javax.imageio.ImageWriter.dispose:()V
        10: .line 1631
            aload 2 /* output */
            invokeinterface javax.imageio.stream.ImageOutputStream.flush:()V
        11: .line 1633
            iconst_1
            ireturn
        end local 2 // javax.imageio.stream.ImageOutputStream output
        end local 1 // javax.imageio.ImageWriter writer
        end local 0 // java.awt.image.RenderedImage im
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0      im  Ljava/awt/image/RenderedImage;
            0   12     1  writer  Ljavax/imageio/ImageWriter;
            0   12     2  output  Ljavax/imageio/stream/ImageOutputStream;
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      im      
      writer  
      output  
}
SourceFile: "ImageIO.java"
NestMembers:
  javax.imageio.ImageIO$CacheInfo  javax.imageio.ImageIO$CanDecodeInputFilter  javax.imageio.ImageIO$CanEncodeImageAndFormatFilter  javax.imageio.ImageIO$ContainsFilter  javax.imageio.ImageIO$ImageReaderIterator  javax.imageio.ImageIO$ImageTranscoderIterator  javax.imageio.ImageIO$ImageWriterIterator  javax.imageio.ImageIO$SpiInfo  javax.imageio.ImageIO$SpiInfo$1  javax.imageio.ImageIO$SpiInfo$2  javax.imageio.ImageIO$SpiInfo$3  javax.imageio.ImageIO$TranscoderFilter
InnerClasses:
  CacheInfo = javax.imageio.ImageIO$CacheInfo of javax.imageio.ImageIO
  CanDecodeInputFilter = javax.imageio.ImageIO$CanDecodeInputFilter of javax.imageio.ImageIO
  CanEncodeImageAndFormatFilter = javax.imageio.ImageIO$CanEncodeImageAndFormatFilter of javax.imageio.ImageIO
  ContainsFilter = javax.imageio.ImageIO$ContainsFilter of javax.imageio.ImageIO
  ImageReaderIterator = javax.imageio.ImageIO$ImageReaderIterator of javax.imageio.ImageIO
  ImageTranscoderIterator = javax.imageio.ImageIO$ImageTranscoderIterator of javax.imageio.ImageIO
  ImageWriterIterator = javax.imageio.ImageIO$ImageWriterIterator of javax.imageio.ImageIO
  private abstract SpiInfo = javax.imageio.ImageIO$SpiInfo of javax.imageio.ImageIO
  TranscoderFilter = javax.imageio.ImageIO$TranscoderFilter of javax.imageio.ImageIO
  public abstract Filter = javax.imageio.spi.ServiceRegistry$Filter of javax.imageio.spi.ServiceRegistry