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 628
            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 653
            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 681
            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 731
            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 792
            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 799
            aload 1 /* formatName */
            ifnonnull 2
         1: .line 800
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 802
      StackMap locals:
      StackMap stack:
            aload 2 /* nodeNames */
            ifnonnull 4
         3: .line 803
            new java.lang.IllegalArgumentException
            dup
            ldc "nodeNames == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 806
      StackMap locals:
      StackMap stack:
            iload 3 /* wantStream */
            ifeq 6
         5: .line 807
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getStreamMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            goto 7
         6: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
         7: .line 805
      StackMap locals:
      StackMap stack: javax.imageio.metadata.IIOMetadata
            astore 5 /* metadata */
        start local 5 // javax.imageio.metadata.IIOMetadata metadata
         8: .line 809
            aload 5 /* metadata */
            ifnull 26
         9: .line 810
            aload 5 /* metadata */
            invokevirtual javax.imageio.metadata.IIOMetadata.isStandardMetadataFormatSupported:()Z
            ifeq 15
        10: .line 811
            aload 1 /* formatName */
        11: .line 812
            ldc "javax_imageio_1.0"
        12: .line 811
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        13: .line 812
            ifeq 15
        14: .line 813
            aload 5 /* metadata */
            areturn
        15: .line 815
      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 816
            aload 6 /* nativeName */
            ifnull 18
            aload 1 /* formatName */
            aload 6 /* nativeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 817
            aload 5 /* metadata */
            areturn
        18: .line 819
      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 820
            aload 7 /* extraNames */
            ifnull 26
        20: .line 821
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: goto 25
        22: .line 822
      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 823
            aload 5 /* metadata */
            areturn
        24: .line 821
      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 828
      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 903
            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 939
            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 1062
            iload 1 /* imageIndex */
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            if_icmpge 2
         1: .line 1063
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex < getMinIndex()!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1066
      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 1068
            aconst_null
            astore 4 /* thumbnails */
        start local 4 // java.util.ArrayList thumbnails
         4: .line 1069
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 5 /* numThumbnails */
        start local 5 // int numThumbnails
         5: .line 1070
            iload 5 /* numThumbnails */
            ifle 12
         6: .line 1071
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* thumbnails */
         7: .line 1072
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 11
         9: .line 1073
      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 1072
            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 1077
      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 1078
            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 1159
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* output */
        start local 2 // java.util.List output
         1: .line 1161
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            istore 3 /* imageIndex */
        start local 3 // int imageIndex
         2: .line 1164
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.processSequenceStarted:(I)V
         3: .line 1170
      StackMap locals: java.util.List int
      StackMap stack:
            aconst_null
            astore 4 /* param */
        start local 4 // javax.imageio.ImageReadParam param
         4: .line 1171
            aload 1 /* params */
            ifnull 13
            aload 1 /* params */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 13
         5: .line 1172
            aload 1 /* params */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
         6: .line 1173
            aload 5 /* o */
            ifnull 13
         7: .line 1174
            aload 5 /* o */
            instanceof javax.imageio.ImageReadParam
            ifeq 10
         8: .line 1175
            aload 5 /* o */
            checkcast javax.imageio.ImageReadParam
            astore 4 /* param */
         9: .line 1176
            goto 13
        10: .line 1177
      StackMap locals: javax.imageio.ImageReadParam java.lang.Object
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        11: .line 1178
            ldc "Non-ImageReadParam supplied as part of params!"
        12: .line 1177
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object o
        13: .line 1183
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* bi */
        start local 5 // java.awt.image.BufferedImage bi
        14: .line 1185
            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 1186
            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 1187
            goto 32
        18: .line 1190
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* thumbnails */
        start local 6 // java.util.ArrayList thumbnails
        19: .line 1191
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 7 /* numThumbnails */
        start local 7 // int numThumbnails
        20: .line 1192
            iload 7 /* numThumbnails */
            ifle 27
        21: .line 1193
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* thumbnails */
        22: .line 1194
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        23: goto 26
        24: .line 1195
      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 1194
            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 1199
      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 1200
            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 1201
            aload 2 /* output */
            aload 9 /* im */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1203
            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 1166
            goto 3
        32: .line 1207
      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 1209
            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 1228
            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 1285
            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 1322
            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 1343
            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 1364
            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 1394
            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 1424
            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 1469
            iload 2 /* tileX */
            ifne 1
            iload 3 /* tileY */
            ifeq 2
         1: .line 1470
      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 1472
      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 1515
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.canReadRaster:()Z
            ifne 4
         1: .line 1516
            new java.lang.UnsupportedOperationException
            dup
         2: .line 1517
            ldc "readTileRaster not supported!"
         3: .line 1516
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1519
      StackMap locals:
      StackMap stack:
            iload 2 /* tileX */
            ifne 5
            iload 3 /* tileY */
            ifeq 6
         5: .line 1520
      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 1522
      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 1574
            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 1597
            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 1622
            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 1649
            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 1682
            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 1715
            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 1752
            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 1766
            aload 0 /* this */
            iconst_1
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1767
            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 1781
            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 1793
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1794
            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 1801
            aload 0 /* l */
            ifnonnull 2
         1: .line 1802
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* l */
         2: .line 1804
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1805
            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 1812
            aload 0 /* l */
            ifnonnull 2
         1: .line 1813
            aload 0 /* l */
            areturn
         2: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 1816
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            ifne 5
         4: .line 1817
            aconst_null
            astore 0 /* l */
         5: .line 1819
      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 1836
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1837
            return
         2: .line 1839
      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 1840
            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 1841
            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 1854
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1855
      StackMap locals:
      StackMap stack:
            return
         2: .line 1857
      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 1858
            iload 2 /* index */
            iconst_m1
            if_icmpeq 9
         4: .line 1859
            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 1860
            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 1861
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 9
         7: .line 1862
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         8: .line 1863
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         9: .line 1866
      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 1877
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         1: .line 1878
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         2: .line 1879
            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 1892
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1893
            return
         2: .line 1895
      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 1896
            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 1911
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1912
      StackMap locals:
      StackMap stack:
            return
         2: .line 1914
      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 1915
            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 1926
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
         1: .line 1927
            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 1964
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1965
            return
         2: .line 1967
      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 1968
            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 1982
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1983
      StackMap locals:
      StackMap stack:
            return
         2: .line 1985
      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 1986
            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 1997
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
         1: .line 1998
            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 2009
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2010
            return
         2: .line 2012
      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 2013
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2015
      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 2014
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2016
            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 2013
            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 2018
            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 2027
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2028
            return
         2: .line 2030
      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 2031
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2033
      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 2032
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2034
            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 2031
            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 2036
            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 2047
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2048
            return
         2: .line 2050
      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 2051
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2053
      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 2052
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2054
            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 2051
            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 2056
            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 2068
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2069
            return
         2: .line 2071
      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 2072
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2074
      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 2073
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2075
            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 2072
            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 2077
            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 2086
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2087
            return
         2: .line 2089
      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 2090
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2092
      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 2091
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2093
            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 2090
            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 2095
            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 2109
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2110
            return
         2: .line 2112
      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 2113
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 2115
      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 2114
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2116
            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 2113
            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 2118
            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 2130
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2131
            return
         2: .line 2133
      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 2134
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2136
      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 2135
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2137
            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 2134
            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 2139
            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 2148
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2149
            return
         2: .line 2151
      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 2152
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2154
      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 2153
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2155
            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 2152
            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 2157
            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 2166
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2167
            return
         2: .line 2169
      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 2170
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2172
      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 2171
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2173
            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 2170
            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 2175
            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 2202
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2203
            return
         2: .line 2205
      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 2206
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2208
      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 2207
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2209
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theImage */
            iload 2 /* pass */
         8: .line 2210
            iload 3 /* minPass */
         9: .line 2211
            iload 4 /* maxPass */
        10: .line 2212
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2213
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2214
            aload 9 /* bands */
        13: .line 2209
            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 2206
            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 2216
            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 2243
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2244
            return
         2: .line 2246
      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 2247
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2249
      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 2248
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2250
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2251
            aload 1 /* theImage */
         9: .line 2252
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2253
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2254
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2255
            aload 8 /* bands */
        13: .line 2250
            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 2247
            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 2257
            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 2268
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2269
            return
         2: .line 2271
      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 2272
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2274
      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 2273
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2275
            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 2272
            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 2277
            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 2305
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2306
            return
         2: .line 2308
      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 2309
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2311
      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 2310
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2312
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theThumbnail */
            iload 2 /* pass */
         8: .line 2313
            iload 3 /* minPass */
         9: .line 2314
            iload 4 /* maxPass */
        10: .line 2315
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2316
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2317
            aload 9 /* bands */
        13: .line 2312
            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 2309
            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 2319
            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 2347
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2348
            return
         2: .line 2350
      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 2351
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2353
      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 2352
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2354
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2355
            aload 1 /* theThumbnail */
         9: .line 2356
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2357
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2358
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2359
            aload 8 /* bands */
        13: .line 2354
            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 2351
            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 2361
            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 2373
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2374
            return
         2: .line 2376
      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 2377
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2379
      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 2378
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2380
            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 2377
            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 2382
            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 2396
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2397
            return
         2: .line 2399
      StackMap locals:
      StackMap stack:
            aload 1 /* warning */
            ifnonnull 4
         3: .line 2400
            new java.lang.IllegalArgumentException
            dup
            ldc "warning == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2402
      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 2403
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 11
         7: .line 2405
      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 2404
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadWarningListener listener
         9: .line 2407
            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 2403
            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 2409
            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 2438
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2439
            return
         2: .line 2441
      StackMap locals:
      StackMap stack:
            aload 1 /* baseName */
            ifnonnull 4
         3: .line 2442
            new java.lang.IllegalArgumentException
            dup
            ldc "baseName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2444
      StackMap locals:
      StackMap stack:
            aload 2 /* keyword */
            ifnonnull 6
         5: .line 2445
            new java.lang.IllegalArgumentException
            dup
            ldc "keyword == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2447
      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 2448
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 34
         9: .line 2450
      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 2449
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadWarningListener listener
        11: .line 2451
            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 2452
            aload 6 /* locale */
            ifnonnull 14
        13: .line 2453
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 6 /* locale */
        14: .line 2466
      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 2465
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
        16: .line 2464
            astore 7 /* loader */
        start local 7 // java.lang.ClassLoader loader
        17: .line 2472
            aconst_null
            astore 8 /* bundle */
        start local 8 // java.util.ResourceBundle bundle
        18: .line 2474
            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 2475
            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 2477
            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 2478
            goto 25
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
        23: pop
        24: .line 2479
            new java.lang.IllegalArgumentException
            dup
            ldc "Bundle not found!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 2483
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* warning */
        start local 9 // java.lang.String warning
        26: .line 2485
            aload 8 /* bundle */
            aload 2 /* keyword */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* warning */
        27: .line 2486
            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 2487
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is not a String!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 2488
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            pop
        31: .line 2489
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is missing!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 2492
      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 2448
            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 2494
            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 2509
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 2510
            aload 0 /* this */
            aconst_null
            invokevirtual javax.imageio.ImageReader.setLocale:(Ljava/util/Locale;)V
         2: .line 2511
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadUpdateListeners:()V
         3: .line 2512
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadProgressListeners:()V
         4: .line 2513
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadWarningListeners:()V
         5: .line 2514
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.clearAbortRequest:()V
         6: .line 2515
            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 2533
            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 2557
            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 2558
            aload 0 /* param */
            ifnull 11
         2: .line 2559
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 4 /* region */
        start local 4 // java.awt.Rectangle region
         3: .line 2560
            aload 4 /* region */
            ifnull 5
         4: .line 2561
            aload 3 /* sourceRegion */
            aload 4 /* region */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 3 /* sourceRegion */
         5: .line 2564
      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 2565
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 6 /* subsampleYOffset */
        start local 6 // int subsampleYOffset
         7: .line 2566
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 5 /* subsampleXOffset */
            iadd
            putfield java.awt.Rectangle.x:I
         8: .line 2567
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 6 /* subsampleYOffset */
            iadd
            putfield java.awt.Rectangle.y:I
         9: .line 2568
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 5 /* subsampleXOffset */
            isub
            putfield java.awt.Rectangle.width:I
        10: .line 2569
            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 2572
      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 2625
            aload 4 /* srcRegion */
            ifnonnull 2
         1: .line 2626
            new java.lang.IllegalArgumentException
            dup
            ldc "srcRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2628
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            ifnonnull 4
         3: .line 2629
            new java.lang.IllegalArgumentException
            dup
            ldc "destRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2633
      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 2637
            aload 5 /* destRegion */
            iconst_0
            iconst_0
            iload 1 /* srcWidth */
            iload 2 /* srcHeight */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
         6: .line 2640
            iconst_1
            istore 6 /* periodX */
        start local 6 // int periodX
         7: .line 2641
            iconst_1
            istore 7 /* periodY */
        start local 7 // int periodY
         8: .line 2642
            iconst_0
            istore 8 /* gridX */
        start local 8 // int gridX
         9: .line 2643
            iconst_0
            istore 9 /* gridY */
        start local 9 // int gridY
        10: .line 2644
            aload 0 /* param */
            ifnull 22
        11: .line 2645
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 10 /* paramSrcRegion */
        start local 10 // java.awt.Rectangle paramSrcRegion
        12: .line 2646
            aload 10 /* paramSrcRegion */
            ifnull 14
        13: .line 2647
            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 2649
      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 2650
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
            istore 7 /* periodY */
        16: .line 2651
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingXOffset:()I
            istore 8 /* gridX */
        17: .line 2652
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 9 /* gridY */
        18: .line 2653
            aload 4 /* srcRegion */
            iload 8 /* gridX */
            iload 9 /* gridY */
            invokevirtual java.awt.Rectangle.translate:(II)V
        19: .line 2654
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 8 /* gridX */
            isub
            putfield java.awt.Rectangle.width:I
        20: .line 2655
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 9 /* gridY */
            isub
            putfield java.awt.Rectangle.height:I
        21: .line 2656
            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 2661
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ifge 27
        23: .line 2662
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ineg
            iload 6 /* periodX */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        24: .line 2663
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.x:I
        25: .line 2664
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.width:I
        26: .line 2665
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.x:I
        end local 10 // int delta
        27: .line 2667
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ifge 32
        28: .line 2668
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ineg
            iload 7 /* periodY */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        29: .line 2669
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.y:I
        30: .line 2670
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.height:I
        31: .line 2671
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.y:I
        end local 10 // int delta
        32: .line 2675
      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 2676
            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 2677
            aload 5 /* destRegion */
            iload 10 /* subsampledWidth */
            putfield java.awt.Rectangle.width:I
        35: .line 2678
            aload 5 /* destRegion */
            iload 11 /* subsampledHeight */
            putfield java.awt.Rectangle.height:I
        36: .line 2682
            aload 3 /* image */
            ifnull 52
        37: .line 2683
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
        38: .line 2684
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
        39: .line 2685
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
        40: .line 2683
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 12 /* destImageRect */
        start local 12 // java.awt.Rectangle destImageRect
        41: .line 2686
            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 2687
            aload 5 /* destRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 46
        43: .line 2688
            new java.lang.IllegalArgumentException
            dup
        44: .line 2689
            ldc "Empty destination region!"
        45: .line 2688
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 2692
      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 2693
            iload 13 /* deltaX */
            ifle 49
        48: .line 2694
            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 2696
      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 2697
            iload 14 /* deltaY */
            ifle 52
        51: .line 2698
            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 2701
      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 2702
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 2704
      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 2746
            aconst_null
            astore 3 /* srcBands */
        start local 3 // int[] srcBands
         1: .line 2747
            aconst_null
            astore 4 /* dstBands */
        start local 4 // int[] dstBands
         2: .line 2748
            aload 0 /* param */
            ifnull 5
         3: .line 2749
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
            astore 3 /* srcBands */
         4: .line 2750
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
            astore 4 /* dstBands */
         5: .line 2754
      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 2753
      StackMap locals:
      StackMap stack: int
            istore 5 /* paramSrcBandLength */
        start local 5 // int paramSrcBandLength
         8: .line 2756
            aload 4 /* dstBands */
            ifnonnull 9
            iload 2 /* numDstBands */
            goto 10
      StackMap locals: int
      StackMap stack:
         9: aload 4 /* dstBands */
            arraylength
        10: .line 2755
      StackMap locals:
      StackMap stack: int
            istore 6 /* paramDstBandLength */
        start local 6 // int paramDstBandLength
        11: .line 2758
            iload 5 /* paramSrcBandLength */
            iload 6 /* paramDstBandLength */
            if_icmpeq 13
        12: .line 2759
            new java.lang.IllegalArgumentException
            dup
            ldc "ImageReadParam num source & dest bands differ!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2762
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            ifnull 20
        14: .line 2763
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 19
        16: .line 2764
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            iload 7 /* i */
            iaload
            iload 1 /* numSrcBands */
            if_icmplt 18
        17: .line 2765
            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 2763
      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 2770
      StackMap locals:
      StackMap stack:
            aload 4 /* dstBands */
            ifnull 27
        21: .line 2771
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        22: goto 26
        23: .line 2772
      StackMap locals: int
      StackMap stack:
            aload 4 /* dstBands */
            iload 7 /* i */
            iaload
            iload 2 /* numDstBands */
            if_icmplt 25
        24: .line 2773
            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 2771
      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 2777
      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 2832
            aload 1 /* imageTypes */
            ifnull 1
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         1: .line 2833
      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 2835
      StackMap locals:
      StackMap stack:
            iload 2 /* width */
            i2l
            iload 3 /* height */
            i2l
            lmul
            ldc 2147483647
            lcmp
            ifle 6
         3: .line 2836
            new java.lang.IllegalArgumentException
            dup
         4: .line 2837
            ldc "width*height > Integer.MAX_VALUE!"
         5: .line 2836
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2840
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* dest */
        start local 4 // java.awt.image.BufferedImage dest
         7: .line 2841
            aconst_null
            astore 5 /* imageType */
        start local 5 // javax.imageio.ImageTypeSpecifier imageType
         8: .line 2844
            aload 0 /* param */
            ifnull 13
         9: .line 2846
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestination:()Ljava/awt/image/BufferedImage;
            astore 4 /* dest */
        10: .line 2847
            aload 4 /* dest */
            ifnull 12
        11: .line 2848
            aload 4 /* dest */
            areturn
        12: .line 2852
      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 2856
      StackMap locals:
      StackMap stack:
            aload 5 /* imageType */
            ifnonnull 21
        14: .line 2857
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
        15: .line 2858
            aload 6 /* o */
            instanceof javax.imageio.ImageTypeSpecifier
            ifne 19
        16: .line 2859
            new java.lang.IllegalArgumentException
            dup
        17: .line 2860
            ldc "Non-ImageTypeSpecifier retrieved from imageTypes!"
        18: .line 2859
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 2862
      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 2863
            goto 33
        21: .line 2864
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* foundIt */
        start local 6 // boolean foundIt
        22: .line 2865
            goto 28
        23: .line 2867
      StackMap locals: int
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageTypeSpecifier
        24: .line 2866
            astore 7 /* type */
        start local 7 // javax.imageio.ImageTypeSpecifier type
        25: .line 2868
            aload 7 /* type */
            aload 5 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 2869
            iconst_1
            istore 6 /* foundIt */
        27: .line 2870
            goto 29
        end local 7 // javax.imageio.ImageTypeSpecifier type
        28: .line 2865
      StackMap locals:
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        29: .line 2874
      StackMap locals:
      StackMap stack:
            iload 6 /* foundIt */
            ifne 33
        30: .line 2875
            new javax.imageio.IIOException
            dup
        31: .line 2876
            ldc "Destination type from ImageReadParam does not match!"
        32: .line 2875
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean foundIt
        33: .line 2880
      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 2881
            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 2882
            aload 0 /* param */
        36: .line 2883
            iload 2 /* width */
        37: .line 2884
            iload 3 /* height */
        38: .line 2885
            aconst_null
        39: .line 2886
            aload 6 /* srcRegion */
        40: .line 2887
            aload 7 /* destRegion */
        41: .line 2882
            invokestatic javax.imageio.ImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        42: .line 2889
            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 2890
            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 2892
            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