public abstract class javax.imageio.ImageReader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.imageio.ImageReader
  super_class: java.lang.Object
{
  protected javax.imageio.spi.ImageReaderSpi originatingProvider;
    descriptor: Ljavax/imageio/spi/ImageReaderSpi;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.Object input;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED

  protected boolean seekForwardOnly;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean ignoreMetadata;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected int minIndex;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Locale[] availableLocales;
    descriptor: [Ljava/util/Locale;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Locale locale;
    descriptor: Ljava/util/Locale;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.List<javax.imageio.event.IIOReadWarningListener> warningListeners;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljavax/imageio/event/IIOReadWarningListener;>;

  protected java.util.List<java.util.Locale> warningLocales;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljava/util/Locale;>;

  protected java.util.List<javax.imageio.event.IIOReadProgressListener> progressListeners;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljavax/imageio/event/IIOReadProgressListener;>;

  protected java.util.List<javax.imageio.event.IIOReadUpdateListener> updateListeners;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljavax/imageio/event/IIOReadUpdateListener;>;

  private boolean abortFlag;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(javax.imageio.spi.ImageReaderSpi);
    descriptor: (Ljavax/imageio/spi/ImageReaderSpi;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
         0: .line 185
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.input:Ljava/lang/Object;
         2: .line 98
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.seekForwardOnly:Z
         3: .line 107
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.ignoreMetadata:Z
         4: .line 119
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.minIndex:I
         5: .line 126
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.availableLocales:[Ljava/util/Locale;
         6: .line 132
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.locale:Ljava/util/Locale;
         7: .line 140
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         8: .line 148
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         9: .line 156
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
        10: .line 164
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
        11: .line 170
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.abortFlag:Z
        12: .line 186
            aload 0 /* this */
            aload 1 /* originatingProvider */
            putfield javax.imageio.ImageReader.originatingProvider:Ljavax/imageio/spi/ImageReaderSpi;
        13: .line 187
            return
        end local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                 this  Ljavax/imageio/ImageReader;
            0   14     1  originatingProvider  Ljavax/imageio/spi/ImageReaderSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  public java.lang.String getFormatName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 205
            aload 0 /* this */
            getfield javax.imageio.ImageReader.originatingProvider:Ljavax/imageio/spi/ImageReaderSpi;
            invokevirtual javax.imageio.spi.ImageReaderSpi.getFormatNames:()[Ljava/lang/String;
            iconst_0
            aaload
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;
    Exceptions:
      throws java.io.IOException

  public javax.imageio.spi.ImageReaderSpi getOriginatingProvider();
    descriptor: ()Ljavax/imageio/spi/ImageReaderSpi;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 217
            aload 0 /* this */
            getfield javax.imageio.ImageReader.originatingProvider:Ljavax/imageio/spi/ImageReaderSpi;
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public void setInput(java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.Object input
        start local 2 // boolean seekForwardOnly
        start local 3 // boolean ignoreMetadata
         0: .line 291
            aload 1 /* input */
            ifnull 19
         1: .line 292
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
         2: .line 293
            aload 0 /* this */
            getfield javax.imageio.ImageReader.originatingProvider:Ljavax/imageio/spi/ImageReaderSpi;
            ifnull 12
         3: .line 294
            aload 0 /* this */
            getfield javax.imageio.ImageReader.originatingProvider:Ljavax/imageio/spi/ImageReaderSpi;
            invokevirtual javax.imageio.spi.ImageReaderSpi.getInputTypes:()[Ljava/lang/Class;
            astore 5 /* classes */
        start local 5 // java.lang.Class[] classes
         4: .line 295
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 10
         6: .line 296
      StackMap locals: int java.lang.Class[] int
      StackMap stack:
            aload 5 /* classes */
            iload 6 /* i */
            aaload
            aload 1 /* input */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 297
            iconst_1
            istore 4 /* found */
         8: .line 298
            goto 14
         9: .line 295
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* classes */
            arraylength
            if_icmplt 6
        end local 6 // int i
        end local 5 // java.lang.Class[] classes
        11: .line 301
            goto 14
        12: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* input */
            instanceof javax.imageio.stream.ImageInputStream
            ifeq 14
        13: .line 303
            iconst_1
            istore 4 /* found */
        14: .line 306
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifne 16
        15: .line 307
            new java.lang.IllegalArgumentException
            dup
            ldc "Incorrect input type!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* seekForwardOnly */
            putfield javax.imageio.ImageReader.seekForwardOnly:Z
        17: .line 311
            aload 0 /* this */
            iload 3 /* ignoreMetadata */
            putfield javax.imageio.ImageReader.ignoreMetadata:Z
        18: .line 312
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.minIndex:I
        end local 4 // boolean found
        19: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* input */
            putfield javax.imageio.ImageReader.input:Ljava/lang/Object;
        20: .line 316
            return
        end local 3 // boolean ignoreMetadata
        end local 2 // boolean seekForwardOnly
        end local 1 // java.lang.Object input
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Ljavax/imageio/ImageReader;
            0   21     1            input  Ljava/lang/Object;
            0   21     2  seekForwardOnly  Z
            0   21     3   ignoreMetadata  Z
            2   19     4            found  Z
            4   11     5          classes  [Ljava/lang/Class;
            5   11     6                i  I
    MethodParameters:
                 Name  Flags
      input            
      seekForwardOnly  
      ignoreMetadata   

  public void setInput(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.Object input
        start local 2 // boolean seekForwardOnly
         0: .line 355
            aload 0 /* this */
            aload 1 /* input */
            iload 2 /* seekForwardOnly */
            iconst_0
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 356
            return
        end local 2 // boolean seekForwardOnly
        end local 1 // java.lang.Object input
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljavax/imageio/ImageReader;
            0    2     1            input  Ljava/lang/Object;
            0    2     2  seekForwardOnly  Z
    MethodParameters:
                 Name  Flags
      input            
      seekForwardOnly  

  public void setInput(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.Object input
         0: .line 380
            aload 0 /* this */
            aload 1 /* input */
            iconst_0
            iconst_0
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 381
            return
        end local 1 // java.lang.Object input
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljavax/imageio/ImageReader;
            0    2     1  input  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      input  

  public java.lang.Object getInput();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 395
            aload 0 /* this */
            getfield javax.imageio.ImageReader.input:Ljava/lang/Object;
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public boolean isSeekForwardOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 410
            aload 0 /* this */
            getfield javax.imageio.ImageReader.seekForwardOnly:Z
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public boolean isIgnoringMetadata();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 424
            aload 0 /* this */
            getfield javax.imageio.ImageReader.ignoreMetadata:Z
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public int getMinIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 438
            aload 0 /* this */
            getfield javax.imageio.ImageReader.minIndex:I
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public java.util.Locale[] getAvailableLocales();
    descriptor: ()[Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 457
            aload 0 /* this */
            getfield javax.imageio.ImageReader.availableLocales:[Ljava/util/Locale;
            ifnonnull 2
         1: .line 458
            aconst_null
            areturn
         2: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.availableLocales:[Ljava/util/Locale;
            invokevirtual java.util.Locale[].clone:()Ljava/lang/Object;
            checkcast java.util.Locale[]
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/imageio/ImageReader;

  public void setLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.util.Locale locale
         0: .line 480
            aload 1 /* locale */
            ifnull 13
         1: .line 481
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getAvailableLocales:()[Ljava/util/Locale;
            astore 2 /* locales */
        start local 2 // java.util.Locale[] locales
         2: .line 482
            iconst_0
            istore 3 /* found */
        start local 3 // boolean found
         3: .line 483
            aload 2 /* locales */
            ifnull 11
         4: .line 484
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 485
      StackMap locals: java.util.Locale[] int int
      StackMap stack:
            aload 1 /* locale */
            aload 2 /* locales */
            iload 4 /* i */
            aaload
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 486
            iconst_1
            istore 3 /* found */
         8: .line 487
            goto 11
         9: .line 484
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* locales */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 491
      StackMap locals:
      StackMap stack:
            iload 3 /* found */
            ifne 13
        12: .line 492
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid locale!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // boolean found
        end local 2 // java.util.Locale[] locales
        13: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* locale */
            putfield javax.imageio.ImageReader.locale:Ljava/util/Locale;
        14: .line 496
            return
        end local 1 // java.util.Locale locale
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljavax/imageio/ImageReader;
            0   15     1   locale  Ljava/util/Locale;
            2   13     2  locales  [Ljava/util/Locale;
            3   13     3    found  Z
            5   11     4        i  I
    MethodParameters:
        Name  Flags
      locale  

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 507
            aload 0 /* this */
            getfield javax.imageio.ImageReader.locale:Ljava/util/Locale;
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public abstract int getNumImages(boolean);
    descriptor: (Z)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      allowSearch  

  public abstract int getWidth(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public abstract int getHeight(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public boolean isRandomAccessEasy(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 629
            iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public float getAspectRatio(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 654
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getWidth:(I)I
            i2f
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getHeight:(I)I
            i2f
            fdiv
            freturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public javax.imageio.ImageTypeSpecifier getRawImageType(int);
    descriptor: (I)Ljavax/imageio/ImageTypeSpecifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 682
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageTypes:(I)Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageTypeSpecifier
            areturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public abstract java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes(int);
    descriptor: (I)Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (I)Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
    MethodParameters:
            Name  Flags
      imageIndex  

  public javax.imageio.ImageReadParam getDefaultReadParam();
    descriptor: ()Ljavax/imageio/ImageReadParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 732
            new javax.imageio.ImageReadParam
            dup
            invokespecial javax.imageio.ImageReadParam.<init>:()V
            areturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public abstract javax.imageio.metadata.IIOMetadata getStreamMetadata();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  public javax.imageio.metadata.IIOMetadata getStreamMetadata(java.lang.String, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.String formatName
        start local 2 // java.util.Set nodeNames
         0: .line 793
            aload 0 /* this */
            aload 1 /* formatName */
            aload 2 /* nodeNames */
            iconst_1
            iconst_0
            invokevirtual javax.imageio.ImageReader.getMetadata:(Ljava/lang/String;Ljava/util/Set;ZI)Ljavax/imageio/metadata/IIOMetadata;
            areturn
        end local 2 // java.util.Set nodeNames
        end local 1 // java.lang.String formatName
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  formatName  Ljava/lang/String;
            0    1     2   nodeNames  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
            Name  Flags
      formatName  
      nodeNames   

  private javax.imageio.metadata.IIOMetadata getMetadata(java.lang.String, java.util.Set, boolean, int);
    descriptor: (Ljava/lang/String;Ljava/util/Set;ZI)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.String formatName
        start local 2 // java.util.Set nodeNames
        start local 3 // boolean wantStream
        start local 4 // int imageIndex
         0: .line 800
            aload 1 /* formatName */
            ifnonnull 2
         1: .line 801
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 803
      StackMap locals:
      StackMap stack:
            aload 2 /* nodeNames */
            ifnonnull 4
         3: .line 804
            new java.lang.IllegalArgumentException
            dup
            ldc "nodeNames == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 807
      StackMap locals:
      StackMap stack:
            iload 3 /* wantStream */
            ifeq 6
         5: .line 808
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getStreamMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            goto 7
         6: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
         7: .line 806
      StackMap locals:
      StackMap stack: javax.imageio.metadata.IIOMetadata
            astore 5 /* metadata */
        start local 5 // javax.imageio.metadata.IIOMetadata metadata
         8: .line 810
            aload 5 /* metadata */
            ifnull 26
         9: .line 811
            aload 5 /* metadata */
            invokevirtual javax.imageio.metadata.IIOMetadata.isStandardMetadataFormatSupported:()Z
            ifeq 15
        10: .line 812
            aload 1 /* formatName */
        11: .line 813
            ldc "javax_imageio_1.0"
        12: .line 812
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        13: .line 813
            ifeq 15
        14: .line 814
            aload 5 /* metadata */
            areturn
        15: .line 816
      StackMap locals: javax.imageio.metadata.IIOMetadata
      StackMap stack:
            aload 5 /* metadata */
            invokevirtual javax.imageio.metadata.IIOMetadata.getNativeMetadataFormatName:()Ljava/lang/String;
            astore 6 /* nativeName */
        start local 6 // java.lang.String nativeName
        16: .line 817
            aload 6 /* nativeName */
            ifnull 18
            aload 1 /* formatName */
            aload 6 /* nativeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 818
            aload 5 /* metadata */
            areturn
        18: .line 820
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* metadata */
            invokevirtual javax.imageio.metadata.IIOMetadata.getExtraMetadataFormatNames:()[Ljava/lang/String;
            astore 7 /* extraNames */
        start local 7 // java.lang.String[] extraNames
        19: .line 821
            aload 7 /* extraNames */
            ifnull 26
        20: .line 822
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: goto 25
        22: .line 823
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 1 /* formatName */
            aload 7 /* extraNames */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 824
            aload 5 /* metadata */
            areturn
        24: .line 822
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            aload 7 /* extraNames */
            arraylength
            if_icmplt 22
        end local 8 // int i
        end local 7 // java.lang.String[] extraNames
        end local 6 // java.lang.String nativeName
        26: .line 829
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // javax.imageio.metadata.IIOMetadata metadata
        end local 4 // int imageIndex
        end local 3 // boolean wantStream
        end local 2 // java.util.Set nodeNames
        end local 1 // java.lang.String formatName
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Ljavax/imageio/ImageReader;
            0   27     1  formatName  Ljava/lang/String;
            0   27     2   nodeNames  Ljava/util/Set;
            0   27     3  wantStream  Z
            0   27     4  imageIndex  I
            8   27     5    metadata  Ljavax/imageio/metadata/IIOMetadata;
           16   26     6  nativeName  Ljava/lang/String;
           19   26     7  extraNames  [Ljava/lang/String;
           21   26     8           i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      formatName  
      nodeNames   
      wantStream  
      imageIndex  

  public abstract javax.imageio.metadata.IIOMetadata getImageMetadata(int);
    descriptor: (I)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public javax.imageio.metadata.IIOMetadata getImageMetadata(int, java.lang.String, java.util.Set<java.lang.String>);
    descriptor: (ILjava/lang/String;Ljava/util/Set;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // java.lang.String formatName
        start local 3 // java.util.Set nodeNames
         0: .line 904
            aload 0 /* this */
            aload 2 /* formatName */
            aload 3 /* nodeNames */
            iconst_0
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getMetadata:(Ljava/lang/String;Ljava/util/Set;ZI)Ljavax/imageio/metadata/IIOMetadata;
            areturn
        end local 3 // java.util.Set nodeNames
        end local 2 // java.lang.String formatName
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
            0    1     2  formatName  Ljava/lang/String;
            0    1     3   nodeNames  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (ILjava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
            Name  Flags
      imageIndex  
      formatName  
      nodeNames   

  public java.awt.image.BufferedImage read(int);
    descriptor: (I)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 940
            aload 0 /* this */
            iload 1 /* imageIndex */
            aconst_null
            invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            areturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public abstract java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public javax.imageio.IIOImage readAll(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljavax/imageio/IIOImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // javax.imageio.ImageReadParam param
         0: .line 1063
            iload 1 /* imageIndex */
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            if_icmpge 2
         1: .line 1064
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex < getMinIndex()!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            astore 3 /* im */
        start local 3 // java.awt.image.BufferedImage im
         3: .line 1069
            aconst_null
            astore 4 /* thumbnails */
        start local 4 // java.util.ArrayList thumbnails
         4: .line 1070
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 5 /* numThumbnails */
        start local 5 // int numThumbnails
         5: .line 1071
            iload 5 /* numThumbnails */
            ifle 12
         6: .line 1072
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* thumbnails */
         7: .line 1073
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 11
         9: .line 1074
      StackMap locals: javax.imageio.ImageReader int javax.imageio.ImageReadParam java.awt.image.BufferedImage java.util.ArrayList int int
      StackMap stack:
            aload 4 /* thumbnails */
            aload 0 /* this */
            iload 1 /* imageIndex */
            iload 6 /* j */
            invokevirtual javax.imageio.ImageReader.readThumbnail:(II)Ljava/awt/image/BufferedImage;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1073
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* j */
            iload 5 /* numThumbnails */
            if_icmplt 9
        end local 6 // int j
        12: .line 1078
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
            astore 6 /* metadata */
        start local 6 // javax.imageio.metadata.IIOMetadata metadata
        13: .line 1079
            new javax.imageio.IIOImage
            dup
            aload 3 /* im */
            aload 4 /* thumbnails */
            aload 6 /* metadata */
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            areturn
        end local 6 // javax.imageio.metadata.IIOMetadata metadata
        end local 5 // int numThumbnails
        end local 4 // java.util.ArrayList thumbnails
        end local 3 // java.awt.image.BufferedImage im
        end local 2 // javax.imageio.ImageReadParam param
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljavax/imageio/ImageReader;
            0   14     1     imageIndex  I
            0   14     2          param  Ljavax/imageio/ImageReadParam;
            3   14     3             im  Ljava/awt/image/BufferedImage;
            4   14     4     thumbnails  Ljava/util/ArrayList;
            5   14     5  numThumbnails  I
            8   12     6              j  I
           13   14     6       metadata  Ljavax/imageio/metadata/IIOMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public java.util.Iterator<javax.imageio.IIOImage> readAll(java.util.Iterator<? extends javax.imageio.ImageReadParam>);
    descriptor: (Ljava/util/Iterator;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.util.Iterator params
         0: .line 1160
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* output */
        start local 2 // java.util.List output
         1: .line 1162
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            istore 3 /* imageIndex */
        start local 3 // int imageIndex
         2: .line 1165
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.processSequenceStarted:(I)V
         3: .line 1171
      StackMap locals: java.util.List int
      StackMap stack:
            aconst_null
            astore 4 /* param */
        start local 4 // javax.imageio.ImageReadParam param
         4: .line 1172
            aload 1 /* params */
            ifnull 13
            aload 1 /* params */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 13
         5: .line 1173
            aload 1 /* params */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
         6: .line 1174
            aload 5 /* o */
            ifnull 13
         7: .line 1175
            aload 5 /* o */
            instanceof javax.imageio.ImageReadParam
            ifeq 10
         8: .line 1176
            aload 5 /* o */
            checkcast javax.imageio.ImageReadParam
            astore 4 /* param */
         9: .line 1177
            goto 13
        10: .line 1178
      StackMap locals: javax.imageio.ImageReadParam java.lang.Object
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        11: .line 1179
            ldc "Non-ImageReadParam supplied as part of params!"
        12: .line 1178
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object o
        13: .line 1184
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* bi */
        start local 5 // java.awt.image.BufferedImage bi
        14: .line 1186
            aload 0 /* this */
            iload 3 /* imageIndex */
            aload 4 /* param */
            invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            astore 5 /* bi */
        15: .line 1187
            goto 18
      StackMap locals: javax.imageio.ImageReader java.util.Iterator java.util.List int javax.imageio.ImageReadParam java.awt.image.BufferedImage
      StackMap stack: java.lang.IndexOutOfBoundsException
        16: pop
        17: .line 1188
            goto 32
        18: .line 1191
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* thumbnails */
        start local 6 // java.util.ArrayList thumbnails
        19: .line 1192
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 7 /* numThumbnails */
        start local 7 // int numThumbnails
        20: .line 1193
            iload 7 /* numThumbnails */
            ifle 27
        21: .line 1194
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* thumbnails */
        22: .line 1195
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        23: goto 26
        24: .line 1196
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 6 /* thumbnails */
            aload 0 /* this */
            iload 3 /* imageIndex */
            iload 8 /* j */
            invokevirtual javax.imageio.ImageReader.readThumbnail:(II)Ljava/awt/image/BufferedImage;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1195
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 8 /* j */
            iload 7 /* numThumbnails */
            if_icmplt 24
        end local 8 // int j
        27: .line 1200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
            astore 8 /* metadata */
        start local 8 // javax.imageio.metadata.IIOMetadata metadata
        28: .line 1201
            new javax.imageio.IIOImage
            dup
            aload 5 /* bi */
            aload 6 /* thumbnails */
            aload 8 /* metadata */
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            astore 9 /* im */
        start local 9 // javax.imageio.IIOImage im
        29: .line 1202
            aload 2 /* output */
            aload 9 /* im */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1204
            iinc 3 /* imageIndex */ 1
        end local 9 // javax.imageio.IIOImage im
        end local 8 // javax.imageio.metadata.IIOMetadata metadata
        end local 7 // int numThumbnails
        end local 6 // java.util.ArrayList thumbnails
        end local 5 // java.awt.image.BufferedImage bi
        end local 4 // javax.imageio.ImageReadParam param
        31: .line 1167
            goto 3
        32: .line 1208
      StackMap locals: javax.imageio.ImageReader java.util.Iterator java.util.List int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.processSequenceComplete:()V
        33: .line 1210
            aload 2 /* output */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 3 // int imageIndex
        end local 2 // java.util.List output
        end local 1 // java.util.Iterator params
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Ljavax/imageio/ImageReader;
            0   34     1         params  Ljava/util/Iterator<+Ljavax/imageio/ImageReadParam;>;
            1   34     2         output  Ljava/util/List;
            2   34     3     imageIndex  I
            4   31     4          param  Ljavax/imageio/ImageReadParam;
            6   13     5              o  Ljava/lang/Object;
           14   31     5             bi  Ljava/awt/image/BufferedImage;
           19   31     6     thumbnails  Ljava/util/ArrayList;
           20   31     7  numThumbnails  I
           23   27     8              j  I
           28   31     8       metadata  Ljavax/imageio/metadata/IIOMetadata;
           29   31     9             im  Ljavax/imageio/IIOImage;
      Exception table:
        from    to  target  type
          14    15      16  Class java.lang.IndexOutOfBoundsException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Iterator<+Ljavax/imageio/ImageReadParam;>;)Ljava/util/Iterator<Ljavax/imageio/IIOImage;>;
    MethodParameters:
        Name  Flags
      params  

  public boolean canReadRaster();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1230
            iconst_0
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public java.awt.image.Raster readRaster(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/Raster;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // javax.imageio.ImageReadParam param
         0: .line 1288
            new java.lang.UnsupportedOperationException
            dup
            ldc "readRaster not supported!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.imageio.ImageReadParam param
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
            0    1     2       param  Ljavax/imageio/ImageReadParam;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public boolean isImageTiled(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1325
            iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getTileWidth(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1346
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getWidth:(I)I
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getTileHeight(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1367
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getHeight:(I)I
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getTileGridXOffset(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1397
            iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getTileGridYOffset(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1427
            iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public java.awt.image.BufferedImage readTile(int, int, int);
    descriptor: (III)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int tileX
        start local 3 // int tileY
         0: .line 1472
            iload 2 /* tileX */
            ifne 1
            iload 3 /* tileY */
            ifeq 2
         1: .line 1473
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid tile indices"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.read:(I)Ljava/awt/image/BufferedImage;
            areturn
        end local 3 // int tileY
        end local 2 // int tileX
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/imageio/ImageReader;
            0    3     1  imageIndex  I
            0    3     2       tileX  I
            0    3     3       tileY  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      tileX       
      tileY       

  public java.awt.image.Raster readTileRaster(int, int, int);
    descriptor: (III)Ljava/awt/image/Raster;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int tileX
        start local 3 // int tileY
         0: .line 1518
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.canReadRaster:()Z
            ifne 4
         1: .line 1519
            new java.lang.UnsupportedOperationException
            dup
         2: .line 1520
            ldc "readTileRaster not supported!"
         3: .line 1519
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1522
      StackMap locals:
      StackMap stack:
            iload 2 /* tileX */
            ifne 5
            iload 3 /* tileY */
            ifeq 6
         5: .line 1523
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid tile indices"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            aconst_null
            invokevirtual javax.imageio.ImageReader.readRaster:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/Raster;
            areturn
        end local 3 // int tileY
        end local 2 // int tileX
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljavax/imageio/ImageReader;
            0    7     1  imageIndex  I
            0    7     2       tileX  I
            0    7     3       tileY  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      tileX       
      tileY       

  public java.awt.image.RenderedImage readAsRenderedImage(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/RenderedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // javax.imageio.ImageReadParam param
         0: .line 1577
            aload 0 /* this */
            iload 1 /* imageIndex */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            areturn
        end local 2 // javax.imageio.ImageReadParam param
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
            0    1     2       param  Ljavax/imageio/ImageReadParam;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public boolean readerSupportsThumbnails();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1600
            iconst_0
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  public boolean hasThumbnails(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1625
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavax/imageio/ImageReader;
            0    2     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getNumThumbnails(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 1652
            iconst_0
            ireturn
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavax/imageio/ImageReader;
            0    1     1  imageIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getThumbnailWidth(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int thumbnailIndex
         0: .line 1685
            aload 0 /* this */
            iload 1 /* imageIndex */
            iload 2 /* thumbnailIndex */
            invokevirtual javax.imageio.ImageReader.readThumbnail:(II)Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            ireturn
        end local 2 // int thumbnailIndex
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Ljavax/imageio/ImageReader;
            0    1     1      imageIndex  I
            0    1     2  thumbnailIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      imageIndex      
      thumbnailIndex  

  public int getThumbnailHeight(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int thumbnailIndex
         0: .line 1718
            aload 0 /* this */
            iload 1 /* imageIndex */
            iload 2 /* thumbnailIndex */
            invokevirtual javax.imageio.ImageReader.readThumbnail:(II)Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            ireturn
        end local 2 // int thumbnailIndex
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Ljavax/imageio/ImageReader;
            0    1     1      imageIndex  I
            0    1     2  thumbnailIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      imageIndex      
      thumbnailIndex  

  public java.awt.image.BufferedImage readThumbnail(int, int);
    descriptor: (II)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int thumbnailIndex
         0: .line 1755
            new java.lang.UnsupportedOperationException
            dup
            ldc "Thumbnails not supported!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int thumbnailIndex
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Ljavax/imageio/ImageReader;
            0    1     1      imageIndex  I
            0    1     2  thumbnailIndex  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      imageIndex      
      thumbnailIndex  

  public synchronized void abort();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1769
            aload 0 /* this */
            iconst_1
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1770
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/ImageReader;

  protected synchronized boolean abortRequested();
    descriptor: ()Z
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1784
            aload 0 /* this */
            getfield javax.imageio.ImageReader.abortFlag:Z
            ireturn
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  protected synchronized void clearAbortRequest();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1796
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1797
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/ImageReader;

  static java.util.List addToList(java.util.List, java.lang.Object);
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List l
        start local 1 // java.lang.Object elt
         0: .line 1804
            aload 0 /* l */
            ifnonnull 2
         1: .line 1805
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* l */
         2: .line 1807
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1808
            aload 0 /* l */
            areturn
        end local 1 // java.lang.Object elt
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     l  Ljava/util/List;
            0    4     1   elt  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      l     
      elt   

  static java.util.List removeFromList(java.util.List, java.lang.Object);
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List l
        start local 1 // java.lang.Object elt
         0: .line 1815
            aload 0 /* l */
            ifnonnull 2
         1: .line 1816
            aload 0 /* l */
            areturn
         2: .line 1818
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 1819
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            ifne 5
         4: .line 1820
            aconst_null
            astore 0 /* l */
         5: .line 1822
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            areturn
        end local 1 // java.lang.Object elt
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     l  Ljava/util/List;
            0    6     1   elt  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      l     
      elt   

  public void addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener);
    descriptor: (Ljavax/imageio/event/IIOReadWarningListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadWarningListener listener
         0: .line 1839
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1840
            return
         2: .line 1842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            aload 1 /* listener */
            invokestatic javax.imageio.ImageReader.addToList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         3: .line 1843
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getLocale:()Ljava/util/Locale;
            invokestatic javax.imageio.ImageReader.addToList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         4: .line 1844
            return
        end local 1 // javax.imageio.event.IIOReadWarningListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljavax/imageio/ImageReader;
            0    5     1  listener  Ljavax/imageio/event/IIOReadWarningListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener);
    descriptor: (Ljavax/imageio/event/IIOReadWarningListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadWarningListener listener
         0: .line 1857
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1858
      StackMap locals:
      StackMap stack:
            return
         2: .line 1860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
         3: .line 1861
            iload 2 /* index */
            iconst_m1
            if_icmpeq 9
         4: .line 1862
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            iload 2 /* index */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         5: .line 1863
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
            iload 2 /* index */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         6: .line 1864
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 9
         7: .line 1865
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         8: .line 1866
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         9: .line 1869
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int index
        end local 1 // javax.imageio.event.IIOReadWarningListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/imageio/ImageReader;
            0   10     1  listener  Ljavax/imageio/event/IIOReadWarningListener;
            3   10     2     index  I
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllIIOReadWarningListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1880
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         1: .line 1881
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         2: .line 1882
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/imageio/ImageReader;

  public void addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener);
    descriptor: (Ljavax/imageio/event/IIOReadProgressListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadProgressListener listener
         0: .line 1895
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1896
            return
         2: .line 1898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            aload 1 /* listener */
            invokestatic javax.imageio.ImageReader.addToList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
         3: .line 1899
            return
        end local 1 // javax.imageio.event.IIOReadProgressListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/imageio/ImageReader;
            0    4     1  listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener);
    descriptor: (Ljavax/imageio/event/IIOReadProgressListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadProgressListener listener
         0: .line 1914
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1915
      StackMap locals:
      StackMap stack:
            return
         2: .line 1917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            aload 1 /* listener */
            invokestatic javax.imageio.ImageReader.removeFromList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
         3: .line 1918
            return
        end local 1 // javax.imageio.event.IIOReadProgressListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/imageio/ImageReader;
            0    4     1  listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllIIOReadProgressListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 1929
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
         1: .line 1930
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/ImageReader;

  public void addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener);
    descriptor: (Ljavax/imageio/event/IIOReadUpdateListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadUpdateListener listener
         0: .line 1967
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1968
            return
         2: .line 1970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            aload 1 /* listener */
            invokestatic javax.imageio.ImageReader.addToList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
         3: .line 1971
            return
        end local 1 // javax.imageio.event.IIOReadUpdateListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/imageio/ImageReader;
            0    4     1  listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener);
    descriptor: (Ljavax/imageio/event/IIOReadUpdateListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // javax.imageio.event.IIOReadUpdateListener listener
         0: .line 1985
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1986
      StackMap locals:
      StackMap stack:
            return
         2: .line 1988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            aload 1 /* listener */
            invokestatic javax.imageio.ImageReader.removeFromList:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
         3: .line 1989
            return
        end local 1 // javax.imageio.event.IIOReadUpdateListener listener
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/imageio/ImageReader;
            0    4     1  listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeAllIIOReadUpdateListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2000
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
         1: .line 2001
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/ImageReader;

  protected void processSequenceStarted(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int minIndex
         0: .line 2012
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2013
            return
         2: .line 2015
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2016
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2018
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2017
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2019
            aload 4 /* listener */
            aload 0 /* this */
            iload 1 /* minIndex */
            invokeinterface javax.imageio.event.IIOReadProgressListener.sequenceStarted:(Ljavax/imageio/ImageReader;I)V
        end local 4 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2016
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2021
            return
        end local 2 // int numListeners
        end local 1 // int minIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            0   11     1      minIndex  I
            3   11     2  numListeners  I
            4   10     3             i  I
            7    8     4      listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
          Name  Flags
      minIndex  

  protected void processSequenceComplete();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2030
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2031
            return
         2: .line 2033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* numListeners */
        start local 1 // int numListeners
         3: .line 2034
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2036
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2035
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2037
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface javax.imageio.event.IIOReadProgressListener.sequenceComplete:(Ljavax/imageio/ImageReader;)V
        end local 3 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2034
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* numListeners */
            if_icmplt 5
        end local 2 // int i
        10: .line 2039
            return
        end local 1 // int numListeners
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            3   11     1  numListeners  I
            4   10     2             i  I
            7    8     3      listener  Ljavax/imageio/event/IIOReadProgressListener;

  protected void processImageStarted(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
         0: .line 2050
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2051
            return
         2: .line 2053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2054
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2056
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2055
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2057
            aload 4 /* listener */
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokeinterface javax.imageio.event.IIOReadProgressListener.imageStarted:(Ljavax/imageio/ImageReader;I)V
        end local 4 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2054
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2059
            return
        end local 2 // int numListeners
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            0   11     1    imageIndex  I
            3   11     2  numListeners  I
            4   10     3             i  I
            7    8     4      listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
            Name  Flags
      imageIndex  

  protected void processImageProgress(float);
    descriptor: (F)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // float percentageDone
         0: .line 2071
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2072
            return
         2: .line 2074
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2075
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2077
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2076
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2078
            aload 4 /* listener */
            aload 0 /* this */
            fload 1 /* percentageDone */
            invokeinterface javax.imageio.event.IIOReadProgressListener.imageProgress:(Ljavax/imageio/ImageReader;F)V
        end local 4 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2075
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2080
            return
        end local 2 // int numListeners
        end local 1 // float percentageDone
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Ljavax/imageio/ImageReader;
            0   11     1  percentageDone  F
            3   11     2    numListeners  I
            4   10     3               i  I
            7    8     4        listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
                Name  Flags
      percentageDone  

  protected void processImageComplete();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2089
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2090
            return
         2: .line 2092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* numListeners */
        start local 1 // int numListeners
         3: .line 2093
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2095
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2094
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2096
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface javax.imageio.event.IIOReadProgressListener.imageComplete:(Ljavax/imageio/ImageReader;)V
        end local 3 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2093
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* numListeners */
            if_icmplt 5
        end local 2 // int i
        10: .line 2098
            return
        end local 1 // int numListeners
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            3   11     1  numListeners  I
            4   10     2             i  I
            7    8     3      listener  Ljavax/imageio/event/IIOReadProgressListener;

  protected void processThumbnailStarted(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // int imageIndex
        start local 2 // int thumbnailIndex
         0: .line 2112
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2113
            return
         2: .line 2115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* numListeners */
        start local 3 // int numListeners
         3: .line 2116
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 2118
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2117
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2119
            aload 5 /* listener */
            aload 0 /* this */
            iload 1 /* imageIndex */
            iload 2 /* thumbnailIndex */
            invokeinterface javax.imageio.event.IIOReadProgressListener.thumbnailStarted:(Ljavax/imageio/ImageReader;II)V
        end local 5 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2116
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* numListeners */
            if_icmplt 5
        end local 4 // int i
        10: .line 2121
            return
        end local 3 // int numListeners
        end local 2 // int thumbnailIndex
        end local 1 // int imageIndex
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Ljavax/imageio/ImageReader;
            0   11     1      imageIndex  I
            0   11     2  thumbnailIndex  I
            3   11     3    numListeners  I
            4   10     4               i  I
            7    8     5        listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
                Name  Flags
      imageIndex      
      thumbnailIndex  

  protected void processThumbnailProgress(float);
    descriptor: (F)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // float percentageDone
         0: .line 2133
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2134
            return
         2: .line 2136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2137
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2139
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2138
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2140
            aload 4 /* listener */
            aload 0 /* this */
            fload 1 /* percentageDone */
            invokeinterface javax.imageio.event.IIOReadProgressListener.thumbnailProgress:(Ljavax/imageio/ImageReader;F)V
        end local 4 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2137
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2142
            return
        end local 2 // int numListeners
        end local 1 // float percentageDone
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Ljavax/imageio/ImageReader;
            0   11     1  percentageDone  F
            3   11     2    numListeners  I
            4   10     3               i  I
            7    8     4        listener  Ljavax/imageio/event/IIOReadProgressListener;
    MethodParameters:
                Name  Flags
      percentageDone  

  protected void processThumbnailComplete();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2151
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2152
            return
         2: .line 2154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* numListeners */
        start local 1 // int numListeners
         3: .line 2155
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2157
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2156
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2158
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface javax.imageio.event.IIOReadProgressListener.thumbnailComplete:(Ljavax/imageio/ImageReader;)V
        end local 3 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2155
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* numListeners */
            if_icmplt 5
        end local 2 // int i
        10: .line 2160
            return
        end local 1 // int numListeners
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            3   11     1  numListeners  I
            4   10     2             i  I
            7    8     3      listener  Ljavax/imageio/event/IIOReadProgressListener;

  protected void processReadAborted();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2169
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2170
            return
         2: .line 2172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* numListeners */
        start local 1 // int numListeners
         3: .line 2173
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2175
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadProgressListener
         6: .line 2174
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2176
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface javax.imageio.event.IIOReadProgressListener.readAborted:(Ljavax/imageio/ImageReader;)V
        end local 3 // javax.imageio.event.IIOReadProgressListener listener
         8: .line 2173
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* numListeners */
            if_icmplt 5
        end local 2 // int i
        10: .line 2178
            return
        end local 1 // int numListeners
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            3   11     1  numListeners  I
            4   10     2             i  I
            7    8     3      listener  Ljavax/imageio/event/IIOReadProgressListener;

  protected void processPassStarted(java.awt.image.BufferedImage, int, int, int, int, int, int, int, int[]);
    descriptor: (Ljava/awt/image/BufferedImage;IIIIIII[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=13, args_size=10
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theImage
        start local 2 // int pass
        start local 3 // int minPass
        start local 4 // int maxPass
        start local 5 // int minX
        start local 6 // int minY
        start local 7 // int periodX
        start local 8 // int periodY
        start local 9 // int[] bands
         0: .line 2205
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2206
            return
         2: .line 2208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 10 /* numListeners */
        start local 10 // int numListeners
         3: .line 2209
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2211
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2210
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2212
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theImage */
            iload 2 /* pass */
         8: .line 2213
            iload 3 /* minPass */
         9: .line 2214
            iload 4 /* maxPass */
        10: .line 2215
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2216
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2217
            aload 9 /* bands */
        13: .line 2212
            invokeinterface javax.imageio.event.IIOReadUpdateListener.passStarted:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;IIIIIII[I)V
        end local 12 // javax.imageio.event.IIOReadUpdateListener listener
        14: .line 2209
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 11 /* i */
            iload 10 /* numListeners */
            if_icmplt 5
        end local 11 // int i
        16: .line 2219
            return
        end local 10 // int numListeners
        end local 9 // int[] bands
        end local 8 // int periodY
        end local 7 // int periodX
        end local 6 // int minY
        end local 5 // int minX
        end local 4 // int maxPass
        end local 3 // int minPass
        end local 2 // int pass
        end local 1 // java.awt.image.BufferedImage theImage
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljavax/imageio/ImageReader;
            0   17     1      theImage  Ljava/awt/image/BufferedImage;
            0   17     2          pass  I
            0   17     3       minPass  I
            0   17     4       maxPass  I
            0   17     5          minX  I
            0   17     6          minY  I
            0   17     7       periodX  I
            0   17     8       periodY  I
            0   17     9         bands  [I
            3   17    10  numListeners  I
            4   16    11             i  I
            7   14    12      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
          Name  Flags
      theImage  
      pass      
      minPass   
      maxPass   
      minX      
      minY      
      periodX   
      periodY   
      bands     

  protected void processImageUpdate(java.awt.image.BufferedImage, int, int, int, int, int, int, int[]);
    descriptor: (Ljava/awt/image/BufferedImage;IIIIII[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=12, args_size=9
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theImage
        start local 2 // int minX
        start local 3 // int minY
        start local 4 // int width
        start local 5 // int height
        start local 6 // int periodX
        start local 7 // int periodY
        start local 8 // int[] bands
         0: .line 2246
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2247
            return
         2: .line 2249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 9 /* numListeners */
        start local 9 // int numListeners
         3: .line 2250
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2252
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2251
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2253
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2254
            aload 1 /* theImage */
         9: .line 2255
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2256
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2257
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2258
            aload 8 /* bands */
        13: .line 2253
            invokeinterface javax.imageio.event.IIOReadUpdateListener.imageUpdate:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;IIIIII[I)V
        end local 11 // javax.imageio.event.IIOReadUpdateListener listener
        14: .line 2250
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* i */
            iload 9 /* numListeners */
            if_icmplt 5
        end local 10 // int i
        16: .line 2260
            return
        end local 9 // int numListeners
        end local 8 // int[] bands
        end local 7 // int periodY
        end local 6 // int periodX
        end local 5 // int height
        end local 4 // int width
        end local 3 // int minY
        end local 2 // int minX
        end local 1 // java.awt.image.BufferedImage theImage
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljavax/imageio/ImageReader;
            0   17     1      theImage  Ljava/awt/image/BufferedImage;
            0   17     2          minX  I
            0   17     3          minY  I
            0   17     4         width  I
            0   17     5        height  I
            0   17     6       periodX  I
            0   17     7       periodY  I
            0   17     8         bands  [I
            3   17     9  numListeners  I
            4   16    10             i  I
            7   14    11      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
          Name  Flags
      theImage  
      minX      
      minY      
      width     
      height    
      periodX   
      periodY   
      bands     

  protected void processPassComplete(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theImage
         0: .line 2271
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2272
            return
         2: .line 2274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2275
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2277
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2276
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2278
            aload 4 /* listener */
            aload 0 /* this */
            aload 1 /* theImage */
            invokeinterface javax.imageio.event.IIOReadUpdateListener.passComplete:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;)V
        end local 4 // javax.imageio.event.IIOReadUpdateListener listener
         8: .line 2275
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2280
            return
        end local 2 // int numListeners
        end local 1 // java.awt.image.BufferedImage theImage
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            0   11     1      theImage  Ljava/awt/image/BufferedImage;
            3   11     2  numListeners  I
            4   10     3             i  I
            7    8     4      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
          Name  Flags
      theImage  

  protected void processThumbnailPassStarted(java.awt.image.BufferedImage, int, int, int, int, int, int, int, int[]);
    descriptor: (Ljava/awt/image/BufferedImage;IIIIIII[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=13, args_size=10
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theThumbnail
        start local 2 // int pass
        start local 3 // int minPass
        start local 4 // int maxPass
        start local 5 // int minX
        start local 6 // int minY
        start local 7 // int periodX
        start local 8 // int periodY
        start local 9 // int[] bands
         0: .line 2308
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2309
            return
         2: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 10 /* numListeners */
        start local 10 // int numListeners
         3: .line 2312
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2314
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2313
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2315
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theThumbnail */
            iload 2 /* pass */
         8: .line 2316
            iload 3 /* minPass */
         9: .line 2317
            iload 4 /* maxPass */
        10: .line 2318
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2319
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2320
            aload 9 /* bands */
        13: .line 2315
            invokeinterface javax.imageio.event.IIOReadUpdateListener.thumbnailPassStarted:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;IIIIIII[I)V
        end local 12 // javax.imageio.event.IIOReadUpdateListener listener
        14: .line 2312
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 11 /* i */
            iload 10 /* numListeners */
            if_icmplt 5
        end local 11 // int i
        16: .line 2322
            return
        end local 10 // int numListeners
        end local 9 // int[] bands
        end local 8 // int periodY
        end local 7 // int periodX
        end local 6 // int minY
        end local 5 // int minX
        end local 4 // int maxPass
        end local 3 // int minPass
        end local 2 // int pass
        end local 1 // java.awt.image.BufferedImage theThumbnail
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljavax/imageio/ImageReader;
            0   17     1  theThumbnail  Ljava/awt/image/BufferedImage;
            0   17     2          pass  I
            0   17     3       minPass  I
            0   17     4       maxPass  I
            0   17     5          minX  I
            0   17     6          minY  I
            0   17     7       periodX  I
            0   17     8       periodY  I
            0   17     9         bands  [I
            3   17    10  numListeners  I
            4   16    11             i  I
            7   14    12      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
              Name  Flags
      theThumbnail  
      pass          
      minPass       
      maxPass       
      minX          
      minY          
      periodX       
      periodY       
      bands         

  protected void processThumbnailUpdate(java.awt.image.BufferedImage, int, int, int, int, int, int, int[]);
    descriptor: (Ljava/awt/image/BufferedImage;IIIIII[I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=12, args_size=9
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theThumbnail
        start local 2 // int minX
        start local 3 // int minY
        start local 4 // int width
        start local 5 // int height
        start local 6 // int periodX
        start local 7 // int periodY
        start local 8 // int[] bands
         0: .line 2350
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2351
            return
         2: .line 2353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 9 /* numListeners */
        start local 9 // int numListeners
         3: .line 2354
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2356
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2355
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2357
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2358
            aload 1 /* theThumbnail */
         9: .line 2359
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2360
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2361
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2362
            aload 8 /* bands */
        13: .line 2357
            invokeinterface javax.imageio.event.IIOReadUpdateListener.thumbnailUpdate:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;IIIIII[I)V
        end local 11 // javax.imageio.event.IIOReadUpdateListener listener
        14: .line 2354
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* i */
            iload 9 /* numListeners */
            if_icmplt 5
        end local 10 // int i
        16: .line 2364
            return
        end local 9 // int numListeners
        end local 8 // int[] bands
        end local 7 // int periodY
        end local 6 // int periodX
        end local 5 // int height
        end local 4 // int width
        end local 3 // int minY
        end local 2 // int minX
        end local 1 // java.awt.image.BufferedImage theThumbnail
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljavax/imageio/ImageReader;
            0   17     1  theThumbnail  Ljava/awt/image/BufferedImage;
            0   17     2          minX  I
            0   17     3          minY  I
            0   17     4         width  I
            0   17     5        height  I
            0   17     6       periodX  I
            0   17     7       periodY  I
            0   17     8         bands  [I
            3   17     9  numListeners  I
            4   16    10             i  I
            7   14    11      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
              Name  Flags
      theThumbnail  
      minX          
      minY          
      width         
      height        
      periodX       
      periodY       
      bands         

  protected void processThumbnailPassComplete(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.awt.image.BufferedImage theThumbnail
         0: .line 2376
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2377
            return
         2: .line 2379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         3: .line 2380
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2382
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadUpdateListener
         6: .line 2381
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2383
            aload 4 /* listener */
            aload 0 /* this */
            aload 1 /* theThumbnail */
            invokeinterface javax.imageio.event.IIOReadUpdateListener.thumbnailPassComplete:(Ljavax/imageio/ImageReader;Ljava/awt/image/BufferedImage;)V
        end local 4 // javax.imageio.event.IIOReadUpdateListener listener
         8: .line 2380
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 5
        end local 3 // int i
        10: .line 2385
            return
        end local 2 // int numListeners
        end local 1 // java.awt.image.BufferedImage theThumbnail
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljavax/imageio/ImageReader;
            0   11     1  theThumbnail  Ljava/awt/image/BufferedImage;
            3   11     2  numListeners  I
            4   10     3             i  I
            7    8     4      listener  Ljavax/imageio/event/IIOReadUpdateListener;
    MethodParameters:
              Name  Flags
      theThumbnail  

  protected void processWarningOccurred(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.String warning
         0: .line 2399
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2400
            return
         2: .line 2402
      StackMap locals:
      StackMap stack:
            aload 1 /* warning */
            ifnonnull 4
         3: .line 2403
            new java.lang.IllegalArgumentException
            dup
            ldc "warning == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* numListeners */
        start local 2 // int numListeners
         5: .line 2406
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 11
         7: .line 2408
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadWarningListener
         8: .line 2407
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadWarningListener listener
         9: .line 2410
            aload 4 /* listener */
            aload 0 /* this */
            aload 1 /* warning */
            invokeinterface javax.imageio.event.IIOReadWarningListener.warningOccurred:(Ljavax/imageio/ImageReader;Ljava/lang/String;)V
        end local 4 // javax.imageio.event.IIOReadWarningListener listener
        10: .line 2406
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 2 /* numListeners */
            if_icmplt 7
        end local 3 // int i
        12: .line 2412
            return
        end local 2 // int numListeners
        end local 1 // java.lang.String warning
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Ljavax/imageio/ImageReader;
            0   13     1       warning  Ljava/lang/String;
            5   13     2  numListeners  I
            6   12     3             i  I
            9   10     4      listener  Ljavax/imageio/event/IIOReadWarningListener;
    MethodParameters:
         Name  Flags
      warning  

  protected void processWarningOccurred(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // javax.imageio.ImageReader this
        start local 1 // java.lang.String baseName
        start local 2 // java.lang.String keyword
         0: .line 2441
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2442
            return
         2: .line 2444
      StackMap locals:
      StackMap stack:
            aload 1 /* baseName */
            ifnonnull 4
         3: .line 2445
            new java.lang.IllegalArgumentException
            dup
            ldc "baseName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2447
      StackMap locals:
      StackMap stack:
            aload 2 /* keyword */
            ifnonnull 6
         5: .line 2448
            new java.lang.IllegalArgumentException
            dup
            ldc "keyword == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* numListeners */
        start local 3 // int numListeners
         7: .line 2451
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 34
         9: .line 2453
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.imageio.event.IIOReadWarningListener
        10: .line 2452
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadWarningListener listener
        11: .line 2454
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Locale
            astore 6 /* locale */
        start local 6 // java.util.Locale locale
        12: .line 2455
            aload 6 /* locale */
            ifnonnull 14
        13: .line 2456
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 6 /* locale */
        14: .line 2469
      StackMap locals: javax.imageio.event.IIOReadWarningListener java.util.Locale
      StackMap stack:
            new javax.imageio.ImageReader$1
            dup
            aload 0 /* this */
            invokespecial javax.imageio.ImageReader$1.<init>:(Ljavax/imageio/ImageReader;)V
        15: .line 2468
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
        16: .line 2467
            astore 7 /* loader */
        start local 7 // java.lang.ClassLoader loader
        17: .line 2475
            aconst_null
            astore 8 /* bundle */
        start local 8 // java.util.ResourceBundle bundle
        18: .line 2477
            aload 1 /* baseName */
            aload 6 /* locale */
            aload 7 /* loader */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
            astore 8 /* bundle */
        19: .line 2478
            goto 25
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int javax.imageio.event.IIOReadWarningListener java.util.Locale java.lang.ClassLoader java.util.ResourceBundle
      StackMap stack: java.util.MissingResourceException
        20: pop
        21: .line 2480
            aload 1 /* baseName */
            aload 6 /* locale */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            astore 8 /* bundle */
        22: .line 2481
            goto 25
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
        23: pop
        24: .line 2482
            new java.lang.IllegalArgumentException
            dup
            ldc "Bundle not found!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 2486
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* warning */
        start local 9 // java.lang.String warning
        26: .line 2488
            aload 8 /* bundle */
            aload 2 /* keyword */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* warning */
        27: .line 2489
            goto 32
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int javax.imageio.event.IIOReadWarningListener java.util.Locale java.lang.ClassLoader java.util.ResourceBundle java.lang.String
      StackMap stack: java.lang.ClassCastException
        28: pop
        29: .line 2490
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is not a String!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 2491
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            pop
        31: .line 2492
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is missing!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 2495
      StackMap locals:
      StackMap stack:
            aload 5 /* listener */
            aload 0 /* this */
            aload 9 /* warning */
            invokeinterface javax.imageio.event.IIOReadWarningListener.warningOccurred:(Ljavax/imageio/ImageReader;Ljava/lang/String;)V
        end local 9 // java.lang.String warning
        end local 8 // java.util.ResourceBundle bundle
        end local 7 // java.lang.ClassLoader loader
        end local 6 // java.util.Locale locale
        end local 5 // javax.imageio.event.IIOReadWarningListener listener
        33: .line 2451
            iinc 4 /* i */ 1
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int
      StackMap stack:
        34: iload 4 /* i */
            iload 3 /* numListeners */
            if_icmplt 9
        end local 4 // int i
        35: .line 2497
            return
        end local 3 // int numListeners
        end local 2 // java.lang.String keyword
        end local 1 // java.lang.String baseName
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Ljavax/imageio/ImageReader;
            0   36     1      baseName  Ljava/lang/String;
            0   36     2       keyword  Ljava/lang/String;
            7   36     3  numListeners  I
            8   35     4             i  I
           11   33     5      listener  Ljavax/imageio/event/IIOReadWarningListener;
           12   33     6        locale  Ljava/util/Locale;
           17   33     7        loader  Ljava/lang/ClassLoader;
           18   33     8        bundle  Ljava/util/ResourceBundle;
           26   33     9       warning  Ljava/lang/String;
      Exception table:
        from    to  target  type
          18    19      20  Class java.util.MissingResourceException
          21    22      23  Class java.util.MissingResourceException
          26    27      28  Class java.lang.ClassCastException
          26    27      30  Class java.util.MissingResourceException
    MethodParameters:
          Name  Flags
      baseName  
      keyword   

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2512
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 2513
            aload 0 /* this */
            aconst_null
            invokevirtual javax.imageio.ImageReader.setLocale:(Ljava/util/Locale;)V
         2: .line 2514
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadUpdateListeners:()V
         3: .line 2515
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadProgressListeners:()V
         4: .line 2516
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadWarningListeners:()V
         5: .line 2517
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.clearAbortRequest:()V
         6: .line 2518
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/imageio/ImageReader;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.imageio.ImageReader this
         0: .line 2536
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/ImageReader;

  protected static java.awt.Rectangle getSourceRegion(javax.imageio.ImageReadParam, int, int);
    descriptor: (Ljavax/imageio/ImageReadParam;II)Ljava/awt/Rectangle;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // javax.imageio.ImageReadParam param
        start local 1 // int srcWidth
        start local 2 // int srcHeight
         0: .line 2561
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iload 1 /* srcWidth */
            iload 2 /* srcHeight */
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 3 /* sourceRegion */
        start local 3 // java.awt.Rectangle sourceRegion
         1: .line 2562
            aload 0 /* param */
            ifnull 11
         2: .line 2563
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 4 /* region */
        start local 4 // java.awt.Rectangle region
         3: .line 2564
            aload 4 /* region */
            ifnull 5
         4: .line 2565
            aload 3 /* sourceRegion */
            aload 4 /* region */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 3 /* sourceRegion */
         5: .line 2568
      StackMap locals: java.awt.Rectangle java.awt.Rectangle
      StackMap stack:
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingXOffset:()I
            istore 5 /* subsampleXOffset */
        start local 5 // int subsampleXOffset
         6: .line 2569
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 6 /* subsampleYOffset */
        start local 6 // int subsampleYOffset
         7: .line 2570
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 5 /* subsampleXOffset */
            iadd
            putfield java.awt.Rectangle.x:I
         8: .line 2571
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 6 /* subsampleYOffset */
            iadd
            putfield java.awt.Rectangle.y:I
         9: .line 2572
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 5 /* subsampleXOffset */
            isub
            putfield java.awt.Rectangle.width:I
        10: .line 2573
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 6 /* subsampleYOffset */
            isub
            putfield java.awt.Rectangle.height:I
        end local 6 // int subsampleYOffset
        end local 5 // int subsampleXOffset
        end local 4 // java.awt.Rectangle region
        11: .line 2576
      StackMap locals:
      StackMap stack:
            aload 3 /* sourceRegion */
            areturn
        end local 3 // java.awt.Rectangle sourceRegion
        end local 2 // int srcHeight
        end local 1 // int srcWidth
        end local 0 // javax.imageio.ImageReadParam param
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0             param  Ljavax/imageio/ImageReadParam;
            0   12     1          srcWidth  I
            0   12     2         srcHeight  I
            1   12     3      sourceRegion  Ljava/awt/Rectangle;
            3   11     4            region  Ljava/awt/Rectangle;
            6   11     5  subsampleXOffset  I
            7   11     6  subsampleYOffset  I
    MethodParameters:
           Name  Flags
      param      
      srcWidth   
      srcHeight  

  protected static void computeRegions(javax.imageio.ImageReadParam, int, int, java.awt.image.BufferedImage, java.awt.Rectangle, java.awt.Rectangle);
    descriptor: (Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=6
        start local 0 // javax.imageio.ImageReadParam param
        start local 1 // int srcWidth
        start local 2 // int srcHeight
        start local 3 // java.awt.image.BufferedImage image
        start local 4 // java.awt.Rectangle srcRegion
        start local 5 // java.awt.Rectangle destRegion
         0: .line 2629
            aload 4 /* srcRegion */
            ifnonnull 2
         1: .line 2630
            new java.lang.IllegalArgumentException
            dup
            ldc "srcRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2632
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            ifnonnull 4
         3: .line 2633
            new java.lang.IllegalArgumentException
            dup
            ldc "destRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2637
      StackMap locals:
      StackMap stack:
            aload 4 /* srcRegion */
            iconst_0
            iconst_0
            iload 1 /* srcWidth */
            iload 2 /* srcHeight */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
         5: .line 2641
            aload 5 /* destRegion */
            iconst_0
            iconst_0
            iload 1 /* srcWidth */
            iload 2 /* srcHeight */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
         6: .line 2644
            iconst_1
            istore 6 /* periodX */
        start local 6 // int periodX
         7: .line 2645
            iconst_1
            istore 7 /* periodY */
        start local 7 // int periodY
         8: .line 2646
            iconst_0
            istore 8 /* gridX */
        start local 8 // int gridX
         9: .line 2647
            iconst_0
            istore 9 /* gridY */
        start local 9 // int gridY
        10: .line 2648
            aload 0 /* param */
            ifnull 22
        11: .line 2649
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 10 /* paramSrcRegion */
        start local 10 // java.awt.Rectangle paramSrcRegion
        12: .line 2650
            aload 10 /* paramSrcRegion */
            ifnull 14
        13: .line 2651
            aload 4 /* srcRegion */
            aload 4 /* srcRegion */
            aload 10 /* paramSrcRegion */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.setBounds:(Ljava/awt/Rectangle;)V
        14: .line 2653
      StackMap locals: javax.imageio.ImageReadParam int int java.awt.image.BufferedImage java.awt.Rectangle java.awt.Rectangle int int int int java.awt.Rectangle
      StackMap stack:
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
            istore 6 /* periodX */
        15: .line 2654
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
            istore 7 /* periodY */
        16: .line 2655
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingXOffset:()I
            istore 8 /* gridX */
        17: .line 2656
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 9 /* gridY */
        18: .line 2657
            aload 4 /* srcRegion */
            iload 8 /* gridX */
            iload 9 /* gridY */
            invokevirtual java.awt.Rectangle.translate:(II)V
        19: .line 2658
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 8 /* gridX */
            isub
            putfield java.awt.Rectangle.width:I
        20: .line 2659
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 9 /* gridY */
            isub
            putfield java.awt.Rectangle.height:I
        21: .line 2660
            aload 5 /* destRegion */
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationOffset:()Ljava/awt/Point;
            invokevirtual java.awt.Rectangle.setLocation:(Ljava/awt/Point;)V
        end local 10 // java.awt.Rectangle paramSrcRegion
        22: .line 2665
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ifge 27
        23: .line 2666
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ineg
            iload 6 /* periodX */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        24: .line 2667
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.x:I
        25: .line 2668
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.width:I
        26: .line 2669
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.x:I
        end local 10 // int delta
        27: .line 2671
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ifge 32
        28: .line 2672
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ineg
            iload 7 /* periodY */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        29: .line 2673
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.y:I
        30: .line 2674
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.height:I
        31: .line 2675
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.y:I
        end local 10 // int delta
        32: .line 2679
      StackMap locals:
      StackMap stack:
            aload 4 /* srcRegion */
            getfield java.awt.Rectangle.width:I
            iload 6 /* periodX */
            iadd
            iconst_1
            isub
            iload 6 /* periodX */
            idiv
            istore 10 /* subsampledWidth */
        start local 10 // int subsampledWidth
        33: .line 2680
            aload 4 /* srcRegion */
            getfield java.awt.Rectangle.height:I
            iload 7 /* periodY */
            iadd
            iconst_1
            isub
            iload 7 /* periodY */
            idiv
            istore 11 /* subsampledHeight */
        start local 11 // int subsampledHeight
        34: .line 2681
            aload 5 /* destRegion */
            iload 10 /* subsampledWidth */
            putfield java.awt.Rectangle.width:I
        35: .line 2682
            aload 5 /* destRegion */
            iload 11 /* subsampledHeight */
            putfield java.awt.Rectangle.height:I
        36: .line 2686
            aload 3 /* image */
            ifnull 52
        37: .line 2687
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
        38: .line 2688
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
        39: .line 2689
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
        40: .line 2687
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 12 /* destImageRect */
        start local 12 // java.awt.Rectangle destImageRect
        41: .line 2690
            aload 5 /* destRegion */
            aload 5 /* destRegion */
            aload 12 /* destImageRect */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.setBounds:(Ljava/awt/Rectangle;)V
        42: .line 2691
            aload 5 /* destRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 46
        43: .line 2692
            new java.lang.IllegalArgumentException
            dup
        44: .line 2693
            ldc "Empty destination region!"
        45: .line 2692
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 2696
      StackMap locals: int int java.awt.Rectangle
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            iload 10 /* subsampledWidth */
            iadd
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            isub
            istore 13 /* deltaX */
        start local 13 // int deltaX
        47: .line 2697
            iload 13 /* deltaX */
            ifle 49
        48: .line 2698
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 13 /* deltaX */
            iload 6 /* periodX */
            imul
            isub
            putfield java.awt.Rectangle.width:I
        49: .line 2700
      StackMap locals: int
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            iload 11 /* subsampledHeight */
            iadd
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            isub
            istore 14 /* deltaY */
        start local 14 // int deltaY
        50: .line 2701
            iload 14 /* deltaY */
            ifle 52
        51: .line 2702
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 14 /* deltaY */
            iload 7 /* periodY */
            imul
            isub
            putfield java.awt.Rectangle.height:I
        end local 14 // int deltaY
        end local 13 // int deltaX
        end local 12 // java.awt.Rectangle destImageRect
        52: .line 2705
      StackMap locals:
      StackMap stack:
            aload 4 /* srcRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifne 53
            aload 5 /* destRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 54
        53: .line 2706
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 2708
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int subsampledHeight
        end local 10 // int subsampledWidth
        end local 9 // int gridY
        end local 8 // int gridX
        end local 7 // int periodY
        end local 6 // int periodX
        end local 5 // java.awt.Rectangle destRegion
        end local 4 // java.awt.Rectangle srcRegion
        end local 3 // java.awt.image.BufferedImage image
        end local 2 // int srcHeight
        end local 1 // int srcWidth
        end local 0 // javax.imageio.ImageReadParam param
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   55     0             param  Ljavax/imageio/ImageReadParam;
            0   55     1          srcWidth  I
            0   55     2         srcHeight  I
            0   55     3             image  Ljava/awt/image/BufferedImage;
            0   55     4         srcRegion  Ljava/awt/Rectangle;
            0   55     5        destRegion  Ljava/awt/Rectangle;
            7   55     6           periodX  I
            8   55     7           periodY  I
            9   55     8             gridX  I
           10   55     9             gridY  I
           12   22    10    paramSrcRegion  Ljava/awt/Rectangle;
           24   27    10             delta  I
           29   32    10             delta  I
           33   55    10   subsampledWidth  I
           34   55    11  subsampledHeight  I
           41   52    12     destImageRect  Ljava/awt/Rectangle;
           47   52    13            deltaX  I
           50   52    14            deltaY  I
    MethodParameters:
            Name  Flags
      param       
      srcWidth    
      srcHeight   
      image       
      srcRegion   
      destRegion  

  protected static void checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int);
    descriptor: (Ljavax/imageio/ImageReadParam;II)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // javax.imageio.ImageReadParam param
        start local 1 // int numSrcBands
        start local 2 // int numDstBands
         0: .line 2750
            aconst_null
            astore 3 /* srcBands */
        start local 3 // int[] srcBands
         1: .line 2751
            aconst_null
            astore 4 /* dstBands */
        start local 4 // int[] dstBands
         2: .line 2752
            aload 0 /* param */
            ifnull 5
         3: .line 2753
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
            astore 3 /* srcBands */
         4: .line 2754
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
            astore 4 /* dstBands */
         5: .line 2758
      StackMap locals: int[] int[]
      StackMap stack:
            aload 3 /* srcBands */
            ifnonnull 6
            iload 1 /* numSrcBands */
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 3 /* srcBands */
            arraylength
         7: .line 2757
      StackMap locals:
      StackMap stack: int
            istore 5 /* paramSrcBandLength */
        start local 5 // int paramSrcBandLength
         8: .line 2760
            aload 4 /* dstBands */
            ifnonnull 9
            iload 2 /* numDstBands */
            goto 10
      StackMap locals: int
      StackMap stack:
         9: aload 4 /* dstBands */
            arraylength
        10: .line 2759
      StackMap locals:
      StackMap stack: int
            istore 6 /* paramDstBandLength */
        start local 6 // int paramDstBandLength
        11: .line 2762
            iload 5 /* paramSrcBandLength */
            iload 6 /* paramDstBandLength */
            if_icmpeq 13
        12: .line 2763
            new java.lang.IllegalArgumentException
            dup
            ldc "ImageReadParam num source & dest bands differ!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2766
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            ifnull 20
        14: .line 2767
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 19
        16: .line 2768
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            iload 7 /* i */
            iaload
            iload 1 /* numSrcBands */
            if_icmplt 18
        17: .line 2769
            new java.lang.IllegalArgumentException
            dup
            ldc "ImageReadParam source bands contains a value >= the number of source bands!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 2767
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            aload 3 /* srcBands */
            arraylength
            if_icmplt 16
        end local 7 // int i
        20: .line 2774
      StackMap locals:
      StackMap stack:
            aload 4 /* dstBands */
            ifnull 27
        21: .line 2775
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        22: goto 26
        23: .line 2776
      StackMap locals: int
      StackMap stack:
            aload 4 /* dstBands */
            iload 7 /* i */
            iaload
            iload 2 /* numDstBands */
            if_icmplt 25
        24: .line 2777
            new java.lang.IllegalArgumentException
            dup
            ldc "ImageReadParam dest bands contains a value >= the number of dest bands!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 2775
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 7 /* i */
            aload 4 /* dstBands */
            arraylength
            if_icmplt 23
        end local 7 // int i
        27: .line 2781
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int paramDstBandLength
        end local 5 // int paramSrcBandLength
        end local 4 // int[] dstBands
        end local 3 // int[] srcBands
        end local 2 // int numDstBands
        end local 1 // int numSrcBands
        end local 0 // javax.imageio.ImageReadParam param
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0               param  Ljavax/imageio/ImageReadParam;
            0   28     1         numSrcBands  I
            0   28     2         numDstBands  I
            1   28     3            srcBands  [I
            2   28     4            dstBands  [I
            8   28     5  paramSrcBandLength  I
           11   28     6  paramDstBandLength  I
           15   20     7                   i  I
           22   27     7                   i  I
    MethodParameters:
             Name  Flags
      param        
      numSrcBands  
      numDstBands  

  protected static java.awt.image.BufferedImage getDestination(javax.imageio.ImageReadParam, java.util.Iterator<javax.imageio.ImageTypeSpecifier>, int, int);
    descriptor: (Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // javax.imageio.ImageReadParam param
        start local 1 // java.util.Iterator imageTypes
        start local 2 // int width
        start local 3 // int height
         0: .line 2836
            aload 1 /* imageTypes */
            ifnull 1
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         1: .line 2837
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "imageTypes null or empty!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2839
      StackMap locals:
      StackMap stack:
            iload 2 /* width */
            i2l
            iload 3 /* height */
            i2l
            lmul
            ldc 2147483647
            lcmp
            ifle 6
         3: .line 2840
            new java.lang.IllegalArgumentException
            dup
         4: .line 2841
            ldc "width*height > Integer.MAX_VALUE!"
         5: .line 2840
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2844
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* dest */
        start local 4 // java.awt.image.BufferedImage dest
         7: .line 2845
            aconst_null
            astore 5 /* imageType */
        start local 5 // javax.imageio.ImageTypeSpecifier imageType
         8: .line 2848
            aload 0 /* param */
            ifnull 13
         9: .line 2850
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestination:()Ljava/awt/image/BufferedImage;
            astore 4 /* dest */
        10: .line 2851
            aload 4 /* dest */
            ifnull 12
        11: .line 2852
            aload 4 /* dest */
            areturn
        12: .line 2856
      StackMap locals: java.awt.image.BufferedImage javax.imageio.ImageTypeSpecifier
      StackMap stack:
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationType:()Ljavax/imageio/ImageTypeSpecifier;
            astore 5 /* imageType */
        13: .line 2860
      StackMap locals:
      StackMap stack:
            aload 5 /* imageType */
            ifnonnull 21
        14: .line 2861
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
        15: .line 2862
            aload 6 /* o */
            instanceof javax.imageio.ImageTypeSpecifier
            ifne 19
        16: .line 2863
            new java.lang.IllegalArgumentException
            dup
        17: .line 2864
            ldc "Non-ImageTypeSpecifier retrieved from imageTypes!"
        18: .line 2863
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 2866
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* o */
            checkcast javax.imageio.ImageTypeSpecifier
            astore 5 /* imageType */
        end local 6 // java.lang.Object o
        20: .line 2867
            goto 33
        21: .line 2868
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* foundIt */
        start local 6 // boolean foundIt
        22: .line 2869
            goto 28
        23: .line 2871
      StackMap locals: int
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageTypeSpecifier
        24: .line 2870
            astore 7 /* type */
        start local 7 // javax.imageio.ImageTypeSpecifier type
        25: .line 2872
            aload 7 /* type */
            aload 5 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 2873
            iconst_1
            istore 6 /* foundIt */
        27: .line 2874
            goto 29
        end local 7 // javax.imageio.ImageTypeSpecifier type
        28: .line 2869
      StackMap locals:
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        29: .line 2878
      StackMap locals:
      StackMap stack:
            iload 6 /* foundIt */
            ifne 33
        30: .line 2879
            new javax.imageio.IIOException
            dup
        31: .line 2880
            ldc "Destination type from ImageReadParam does not match!"
        32: .line 2879
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean foundIt
        33: .line 2884
      StackMap locals:
      StackMap stack:
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 6 /* srcRegion */
        start local 6 // java.awt.Rectangle srcRegion
        34: .line 2885
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 7 /* destRegion */
        start local 7 // java.awt.Rectangle destRegion
        35: .line 2886
            aload 0 /* param */
        36: .line 2887
            iload 2 /* width */
        37: .line 2888
            iload 3 /* height */
        38: .line 2889
            aconst_null
        39: .line 2890
            aload 6 /* srcRegion */
        40: .line 2891
            aload 7 /* destRegion */
        41: .line 2886
            invokestatic javax.imageio.ImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        42: .line 2893
            aload 7 /* destRegion */
            getfield java.awt.Rectangle.x:I
            aload 7 /* destRegion */
            getfield java.awt.Rectangle.width:I
            iadd
            istore 8 /* destWidth */
        start local 8 // int destWidth
        43: .line 2894
            aload 7 /* destRegion */
            getfield java.awt.Rectangle.y:I
            aload 7 /* destRegion */
            getfield java.awt.Rectangle.height:I
            iadd
            istore 9 /* destHeight */
        start local 9 // int destHeight
        44: .line 2896
            aload 5 /* imageType */
            iload 8 /* destWidth */
            iload 9 /* destHeight */
            invokevirtual javax.imageio.ImageTypeSpecifier.createBufferedImage:(II)Ljava/awt/image/BufferedImage;
            areturn
        end local 9 // int destHeight
        end local 8 // int destWidth
        end local 7 // java.awt.Rectangle destRegion
        end local 6 // java.awt.Rectangle srcRegion
        end local 5 // javax.imageio.ImageTypeSpecifier imageType
        end local 4 // java.awt.image.BufferedImage dest
        end local 3 // int height
        end local 2 // int width
        end local 1 // java.util.Iterator imageTypes
        end local 0 // javax.imageio.ImageReadParam param
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0       param  Ljavax/imageio/ImageReadParam;
            0   45     1  imageTypes  Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
            0   45     2       width  I
            0   45     3      height  I
            7   45     4        dest  Ljava/awt/image/BufferedImage;
            8   45     5   imageType  Ljavax/imageio/ImageTypeSpecifier;
           15   20     6           o  Ljava/lang/Object;
           22   33     6     foundIt  Z
           25   28     7        type  Ljavax/imageio/ImageTypeSpecifier;
           34   45     6   srcRegion  Ljava/awt/Rectangle;
           35   45     7  destRegion  Ljava/awt/Rectangle;
           43   45     8   destWidth  I
           44   45     9  destHeight  I
    Exceptions:
      throws javax.imageio.IIOException
    Signature: (Ljavax/imageio/ImageReadParam;Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;II)Ljava/awt/image/BufferedImage;
    MethodParameters:
            Name  Flags
      param       
      imageTypes  
      width       
      height      
}
SourceFile: "ImageReader.java"
NestMembers:
  javax.imageio.ImageReader$1
InnerClasses:
  javax.imageio.ImageReader$1