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 680
            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 730
            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 791
            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<java.lang.String>, 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 798
            aload 1 /* formatName */
            ifnonnull 2
         1: .line 799
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 801
      StackMap locals:
      StackMap stack:
            aload 2 /* nodeNames */
            ifnonnull 4
         3: .line 802
            new java.lang.IllegalArgumentException
            dup
            ldc "nodeNames == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 805
      StackMap locals:
      StackMap stack:
            iload 3 /* wantStream */
            ifeq 6
         5: .line 806
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getStreamMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            goto 7
         6: .line 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
         7: .line 804
      StackMap locals:
      StackMap stack: javax.imageio.metadata.IIOMetadata
            astore 5 /* metadata */
        start local 5 // javax.imageio.metadata.IIOMetadata metadata
         8: .line 808
            aload 5 /* metadata */
            ifnull 26
         9: .line 809
            aload 5 /* metadata */
            invokevirtual javax.imageio.metadata.IIOMetadata.isStandardMetadataFormatSupported:()Z
            ifeq 15
        10: .line 810
            aload 1 /* formatName */
        11: .line 811
            ldc "javax_imageio_1.0"
        12: .line 810
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        13: .line 811
            ifeq 15
        14: .line 812
            aload 5 /* metadata */
            areturn
        15: .line 814
      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 815
            aload 6 /* nativeName */
            ifnull 18
            aload 1 /* formatName */
            aload 6 /* nativeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 816
            aload 5 /* metadata */
            areturn
        18: .line 818
      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 819
            aload 7 /* extraNames */
            ifnull 26
        20: .line 820
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: goto 25
        22: .line 821
      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 822
            aload 5 /* metadata */
            areturn
        24: .line 820
      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 827
      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<Ljava/lang/String;>;
            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
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;ZI)Ljavax/imageio/metadata/IIOMetadata;
    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 902
            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 938
            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 1061
            iload 1 /* imageIndex */
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            if_icmpge 2
         1: .line 1062
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex < getMinIndex()!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1065
      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 1067
            aconst_null
            astore 4 /* thumbnails */
        start local 4 // java.util.ArrayList thumbnails
         4: .line 1068
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 5 /* numThumbnails */
        start local 5 // int numThumbnails
         5: .line 1069
            iload 5 /* numThumbnails */
            ifle 12
         6: .line 1070
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* thumbnails */
         7: .line 1071
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 11
         9: .line 1072
      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 1071
            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 1076
      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 1077
            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<Ljava/awt/image/BufferedImage;>;
            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 1158
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* output */
        start local 2 // java.util.List output
         1: .line 1160
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.getMinIndex:()I
            istore 3 /* imageIndex */
        start local 3 // int imageIndex
         2: .line 1163
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.processSequenceStarted:(I)V
         3: .line 1169
      StackMap locals: java.util.List int
      StackMap stack:
            aconst_null
            astore 4 /* param */
        start local 4 // javax.imageio.ImageReadParam param
         4: .line 1170
            aload 1 /* params */
            ifnull 13
            aload 1 /* params */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 13
         5: .line 1171
            aload 1 /* params */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
         6: .line 1172
            aload 5 /* o */
            ifnull 13
         7: .line 1173
            aload 5 /* o */
            instanceof javax.imageio.ImageReadParam
            ifeq 10
         8: .line 1174
            aload 5 /* o */
            checkcast javax.imageio.ImageReadParam
            astore 4 /* param */
         9: .line 1175
            goto 13
        10: .line 1176
      StackMap locals: javax.imageio.ImageReadParam java.lang.Object
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        11: .line 1177
            ldc "Non-ImageReadParam supplied as part of params!"
        12: .line 1176
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object o
        13: .line 1182
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* bi */
        start local 5 // java.awt.image.BufferedImage bi
        14: .line 1184
            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 1185
            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 1186
            goto 32
        18: .line 1189
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* thumbnails */
        start local 6 // java.util.ArrayList thumbnails
        19: .line 1190
            aload 0 /* this */
            iload 3 /* imageIndex */
            invokevirtual javax.imageio.ImageReader.getNumThumbnails:(I)I
            istore 7 /* numThumbnails */
        start local 7 // int numThumbnails
        20: .line 1191
            iload 7 /* numThumbnails */
            ifle 27
        21: .line 1192
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* thumbnails */
        22: .line 1193
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        23: goto 26
        24: .line 1194
      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 1193
            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 1198
      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 1199
            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 1200
            aload 2 /* output */
            aload 9 /* im */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1202
            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 1165
            goto 3
        32: .line 1206
      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 1208
            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<Ljavax/imageio/IIOImage;>;
            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<Ljava/awt/image/BufferedImage;>;
           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 1227
            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 1284
            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 1321
            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 1342
            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 1363
            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 1393
            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 1423
            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 1468
            iload 2 /* tileX */
            ifne 1
            iload 3 /* tileY */
            ifeq 2
         1: .line 1469
      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 1471
      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 1514
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.canReadRaster:()Z
            ifne 4
         1: .line 1515
            new java.lang.UnsupportedOperationException
            dup
         2: .line 1516
            ldc "readTileRaster not supported!"
         3: .line 1515
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1518
      StackMap locals:
      StackMap stack:
            iload 2 /* tileX */
            ifne 5
            iload 3 /* tileY */
            ifeq 6
         5: .line 1519
      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 1521
      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 1573
            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 1596
            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 1621
            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 1648
            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 1681
            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 1714
            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 1751
            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 1765
            aload 0 /* this */
            iconst_1
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1766
            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 1780
            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 1792
            aload 0 /* this */
            iconst_0
            putfield javax.imageio.ImageReader.abortFlag:Z
         1: .line 1793
            return
        end local 0 // javax.imageio.ImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/ImageReader;

  static <T> java.util.List<T> addToList(java.util.List<T>, T);
    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 1800
            aload 0 /* l */
            ifnonnull 2
         1: .line 1801
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* l */
         2: .line 1803
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1804
            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<TT;>;
            0    4     1   elt  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;TT;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      l     
      elt   

  static <T> java.util.List<T> removeFromList(java.util.List<T>, T);
    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 1811
            aload 0 /* l */
            ifnonnull 2
         1: .line 1812
            aload 0 /* l */
            areturn
         2: .line 1814
      StackMap locals:
      StackMap stack:
            aload 0 /* l */
            aload 1 /* elt */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 1815
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            ifne 5
         4: .line 1816
            aconst_null
            astore 0 /* l */
         5: .line 1818
      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<TT;>;
            0    6     1   elt  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;TT;)Ljava/util/List<TT;>;
    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 1835
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1836
            return
         2: .line 1838
      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 1839
            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 1840
            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 1853
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1854
      StackMap locals:
      StackMap stack:
            return
         2: .line 1856
      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 1857
            iload 2 /* index */
            iconst_m1
            if_icmpeq 9
         4: .line 1858
            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 1859
            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 1860
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 9
         7: .line 1861
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         8: .line 1862
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         9: .line 1865
      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 1876
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
         1: .line 1877
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.warningLocales:Ljava/util/List;
         2: .line 1878
            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 1891
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1892
            return
         2: .line 1894
      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 1895
            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 1910
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1911
      StackMap locals:
      StackMap stack:
            return
         2: .line 1913
      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 1914
            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 1925
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
         1: .line 1926
            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 1963
            aload 1 /* listener */
            ifnonnull 2
         1: .line 1964
            return
         2: .line 1966
      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 1967
            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 1981
            aload 1 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 1982
      StackMap locals:
      StackMap stack:
            return
         2: .line 1984
      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 1985
            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 1996
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
         1: .line 1997
            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 2008
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2009
            return
         2: .line 2011
      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 2012
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2014
      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 2013
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2015
            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 2012
            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 2017
            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 2026
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2027
            return
         2: .line 2029
      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 2030
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2032
      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 2031
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2033
            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 2030
            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 2035
            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 2046
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2047
            return
         2: .line 2049
      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 2050
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2052
      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 2051
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2053
            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 2050
            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 2055
            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 2067
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2068
            return
         2: .line 2070
      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 2071
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2073
      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 2072
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2074
            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 2071
            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 2076
            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 2085
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2086
            return
         2: .line 2088
      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 2089
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2091
      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 2090
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2092
            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 2089
            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 2094
            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 2108
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2109
            return
         2: .line 2111
      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 2112
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 2114
      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 2113
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2115
            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 2112
            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 2117
            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 2129
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2130
            return
         2: .line 2132
      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 2133
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2135
      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 2134
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2136
            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 2133
            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 2138
            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 2147
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2148
            return
         2: .line 2150
      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 2151
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2153
      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 2152
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2154
            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 2151
            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 2156
            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 2165
            aload 0 /* this */
            getfield javax.imageio.ImageReader.progressListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2166
            return
         2: .line 2168
      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 2169
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2171
      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 2170
            astore 3 /* listener */
        start local 3 // javax.imageio.event.IIOReadProgressListener listener
         7: .line 2172
            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 2169
            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 2174
            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 2201
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2202
            return
         2: .line 2204
      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 2205
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2207
      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 2206
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2208
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theImage */
            iload 2 /* pass */
         8: .line 2209
            iload 3 /* minPass */
         9: .line 2210
            iload 4 /* maxPass */
        10: .line 2211
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2212
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2213
            aload 9 /* bands */
        13: .line 2208
            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 2205
            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 2215
            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 2242
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2243
            return
         2: .line 2245
      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 2246
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2248
      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 2247
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2249
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2250
            aload 1 /* theImage */
         9: .line 2251
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2252
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2253
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2254
            aload 8 /* bands */
        13: .line 2249
            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 2246
            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 2256
            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 2267
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2268
            return
         2: .line 2270
      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 2271
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2273
      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 2272
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2274
            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 2271
            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 2276
            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 2304
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2305
            return
         2: .line 2307
      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 2308
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 15
         5: .line 2310
      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 2309
            astore 12 /* listener */
        start local 12 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2311
            aload 12 /* listener */
            aload 0 /* this */
            aload 1 /* theThumbnail */
            iload 2 /* pass */
         8: .line 2312
            iload 3 /* minPass */
         9: .line 2313
            iload 4 /* maxPass */
        10: .line 2314
            iload 5 /* minX */
            iload 6 /* minY */
        11: .line 2315
            iload 7 /* periodX */
            iload 8 /* periodY */
        12: .line 2316
            aload 9 /* bands */
        13: .line 2311
            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 2308
            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 2318
            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 2346
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2347
            return
         2: .line 2349
      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 2350
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 15
         5: .line 2352
      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 2351
            astore 11 /* listener */
        start local 11 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2353
            aload 11 /* listener */
            aload 0 /* this */
         8: .line 2354
            aload 1 /* theThumbnail */
         9: .line 2355
            iload 2 /* minX */
            iload 3 /* minY */
        10: .line 2356
            iload 4 /* width */
            iload 5 /* height */
        11: .line 2357
            iload 6 /* periodX */
            iload 7 /* periodY */
        12: .line 2358
            aload 8 /* bands */
        13: .line 2353
            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 2350
            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 2360
            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 2372
            aload 0 /* this */
            getfield javax.imageio.ImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2373
            return
         2: .line 2375
      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 2376
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 2378
      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 2377
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadUpdateListener listener
         7: .line 2379
            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 2376
            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 2381
            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 2395
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2396
            return
         2: .line 2398
      StackMap locals:
      StackMap stack:
            aload 1 /* warning */
            ifnonnull 4
         3: .line 2399
            new java.lang.IllegalArgumentException
            dup
            ldc "warning == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2401
      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 2402
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 11
         7: .line 2404
      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 2403
            astore 4 /* listener */
        start local 4 // javax.imageio.event.IIOReadWarningListener listener
         9: .line 2406
            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 2402
            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 2408
            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=4, 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 2437
            aload 0 /* this */
            getfield javax.imageio.ImageReader.warningListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 2438
            return
         2: .line 2440
      StackMap locals:
      StackMap stack:
            aload 1 /* baseName */
            ifnonnull 4
         3: .line 2441
            new java.lang.IllegalArgumentException
            dup
            ldc "baseName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2443
      StackMap locals:
      StackMap stack:
            aload 2 /* keyword */
            ifnonnull 6
         5: .line 2444
            new java.lang.IllegalArgumentException
            dup
            ldc "keyword == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2446
      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 2447
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 28
         9: .line 2449
      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 2448
            astore 5 /* listener */
        start local 5 // javax.imageio.event.IIOReadWarningListener listener
        11: .line 2450
            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 2451
            aload 6 /* locale */
            ifnonnull 14
        13: .line 2452
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 6 /* locale */
        14: .line 2460
      StackMap locals: javax.imageio.event.IIOReadWarningListener java.util.Locale
      StackMap stack:
            aconst_null
            astore 7 /* bundle */
        start local 7 // java.util.ResourceBundle bundle
        15: .line 2462
            aload 1 /* baseName */
            aload 6 /* locale */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Module;)Ljava/util/ResourceBundle;
            astore 7 /* bundle */
        16: .line 2463
            goto 19
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int javax.imageio.event.IIOReadWarningListener java.util.Locale java.util.ResourceBundle
      StackMap stack: java.util.MissingResourceException
        17: astore 8 /* mre */
        start local 8 // java.util.MissingResourceException mre
        18: .line 2464
            new java.lang.IllegalArgumentException
            dup
            ldc "Bundle not found!"
            aload 8 /* mre */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.util.MissingResourceException mre
        19: .line 2467
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* warning */
        start local 8 // java.lang.String warning
        20: .line 2469
            aload 7 /* bundle */
            aload 2 /* keyword */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* warning */
        21: .line 2470
            goto 26
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int javax.imageio.event.IIOReadWarningListener java.util.Locale java.util.ResourceBundle java.lang.String
      StackMap stack: java.lang.ClassCastException
        22: astore 9 /* cce */
        start local 9 // java.lang.ClassCastException cce
        23: .line 2471
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is not a String!"
            aload 9 /* cce */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.ClassCastException cce
        24: .line 2472
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            astore 9 /* mre */
        start local 9 // java.util.MissingResourceException mre
        25: .line 2473
            new java.lang.IllegalArgumentException
            dup
            ldc "Resource is missing!"
            aload 9 /* mre */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.util.MissingResourceException mre
        26: .line 2476
      StackMap locals:
      StackMap stack:
            aload 5 /* listener */
            aload 0 /* this */
            aload 8 /* warning */
            invokeinterface javax.imageio.event.IIOReadWarningListener.warningOccurred:(Ljavax/imageio/ImageReader;Ljava/lang/String;)V
        end local 8 // java.lang.String warning
        end local 7 // java.util.ResourceBundle bundle
        end local 6 // java.util.Locale locale
        end local 5 // javax.imageio.event.IIOReadWarningListener listener
        27: .line 2447
            iinc 4 /* i */ 1
      StackMap locals: javax.imageio.ImageReader java.lang.String java.lang.String int int
      StackMap stack:
        28: iload 4 /* i */
            iload 3 /* numListeners */
            if_icmplt 9
        end local 4 // int i
        29: .line 2478
            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   30     0          this  Ljavax/imageio/ImageReader;
            0   30     1      baseName  Ljava/lang/String;
            0   30     2       keyword  Ljava/lang/String;
            7   30     3  numListeners  I
            8   29     4             i  I
           11   27     5      listener  Ljavax/imageio/event/IIOReadWarningListener;
           12   27     6        locale  Ljava/util/Locale;
           15   27     7        bundle  Ljava/util/ResourceBundle;
           18   19     8           mre  Ljava/util/MissingResourceException;
           20   27     8       warning  Ljava/lang/String;
           23   24     9           cce  Ljava/lang/ClassCastException;
           25   26     9           mre  Ljava/util/MissingResourceException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.util.MissingResourceException
          20    21      22  Class java.lang.ClassCastException
          20    21      24  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 2494
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_0
            invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 2495
            aload 0 /* this */
            aconst_null
            invokevirtual javax.imageio.ImageReader.setLocale:(Ljava/util/Locale;)V
         2: .line 2496
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadUpdateListeners:()V
         3: .line 2497
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadProgressListeners:()V
         4: .line 2498
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.removeAllIIOReadWarningListeners:()V
         5: .line 2499
            aload 0 /* this */
            invokevirtual javax.imageio.ImageReader.clearAbortRequest:()V
         6: .line 2500
            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 2518
            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 2542
            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 2543
            aload 0 /* param */
            ifnull 11
         2: .line 2544
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 4 /* region */
        start local 4 // java.awt.Rectangle region
         3: .line 2545
            aload 4 /* region */
            ifnull 5
         4: .line 2546
            aload 3 /* sourceRegion */
            aload 4 /* region */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 3 /* sourceRegion */
         5: .line 2549
      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 2550
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 6 /* subsampleYOffset */
        start local 6 // int subsampleYOffset
         7: .line 2551
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 5 /* subsampleXOffset */
            iadd
            putfield java.awt.Rectangle.x:I
         8: .line 2552
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 6 /* subsampleYOffset */
            iadd
            putfield java.awt.Rectangle.y:I
         9: .line 2553
            aload 3 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 5 /* subsampleXOffset */
            isub
            putfield java.awt.Rectangle.width:I
        10: .line 2554
            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 2557
      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 2610
            aload 4 /* srcRegion */
            ifnonnull 2
         1: .line 2611
            new java.lang.IllegalArgumentException
            dup
            ldc "srcRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2613
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            ifnonnull 4
         3: .line 2614
            new java.lang.IllegalArgumentException
            dup
            ldc "destRegion == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2618
      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 2622
            aload 5 /* destRegion */
            iconst_0
            iconst_0
            iload 1 /* srcWidth */
            iload 2 /* srcHeight */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
         6: .line 2625
            iconst_1
            istore 6 /* periodX */
        start local 6 // int periodX
         7: .line 2626
            iconst_1
            istore 7 /* periodY */
        start local 7 // int periodY
         8: .line 2627
            iconst_0
            istore 8 /* gridX */
        start local 8 // int gridX
         9: .line 2628
            iconst_0
            istore 9 /* gridY */
        start local 9 // int gridY
        10: .line 2629
            aload 0 /* param */
            ifnull 22
        11: .line 2630
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 10 /* paramSrcRegion */
        start local 10 // java.awt.Rectangle paramSrcRegion
        12: .line 2631
            aload 10 /* paramSrcRegion */
            ifnull 14
        13: .line 2632
            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 2634
      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 2635
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
            istore 7 /* periodY */
        16: .line 2636
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingXOffset:()I
            istore 8 /* gridX */
        17: .line 2637
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSubsamplingYOffset:()I
            istore 9 /* gridY */
        18: .line 2638
            aload 4 /* srcRegion */
            iload 8 /* gridX */
            iload 9 /* gridY */
            invokevirtual java.awt.Rectangle.translate:(II)V
        19: .line 2639
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 8 /* gridX */
            isub
            putfield java.awt.Rectangle.width:I
        20: .line 2640
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 9 /* gridY */
            isub
            putfield java.awt.Rectangle.height:I
        21: .line 2641
            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 2646
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ifge 27
        23: .line 2647
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.x:I
            ineg
            iload 6 /* periodX */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        24: .line 2648
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.x:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.x:I
        25: .line 2649
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.width:I
        26: .line 2650
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.x:I
        end local 10 // int delta
        27: .line 2652
      StackMap locals:
      StackMap stack:
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ifge 32
        28: .line 2653
            aload 5 /* destRegion */
            getfield java.awt.Rectangle.y:I
            ineg
            iload 7 /* periodY */
            imul
            istore 10 /* delta */
        start local 10 // int delta
        29: .line 2654
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.y:I
            iload 10 /* delta */
            iadd
            putfield java.awt.Rectangle.y:I
        30: .line 2655
            aload 4 /* srcRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 10 /* delta */
            isub
            putfield java.awt.Rectangle.height:I
        31: .line 2656
            aload 5 /* destRegion */
            iconst_0
            putfield java.awt.Rectangle.y:I
        end local 10 // int delta
        32: .line 2660
      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 2661
            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 2662
            aload 5 /* destRegion */
            iload 10 /* subsampledWidth */
            putfield java.awt.Rectangle.width:I
        35: .line 2663
            aload 5 /* destRegion */
            iload 11 /* subsampledHeight */
            putfield java.awt.Rectangle.height:I
        36: .line 2667
            aload 3 /* image */
            ifnull 52
        37: .line 2668
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
        38: .line 2669
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
        39: .line 2670
            aload 3 /* image */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
        40: .line 2668
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 12 /* destImageRect */
        start local 12 // java.awt.Rectangle destImageRect
        41: .line 2671
            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 2672
            aload 5 /* destRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 46
        43: .line 2673
            new java.lang.IllegalArgumentException
            dup
        44: .line 2674
            ldc "Empty destination region!"
        45: .line 2673
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 2677
      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 2678
            iload 13 /* deltaX */
            ifle 49
        48: .line 2679
            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 2681
      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 2682
            iload 14 /* deltaY */
            ifle 52
        51: .line 2683
            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 2686
      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 2687
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 2689
      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 2731
            aconst_null
            astore 3 /* srcBands */
        start local 3 // int[] srcBands
         1: .line 2732
            aconst_null
            astore 4 /* dstBands */
        start local 4 // int[] dstBands
         2: .line 2733
            aload 0 /* param */
            ifnull 5
         3: .line 2734
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
            astore 3 /* srcBands */
         4: .line 2735
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
            astore 4 /* dstBands */
         5: .line 2739
      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 2738
      StackMap locals:
      StackMap stack: int
            istore 5 /* paramSrcBandLength */
        start local 5 // int paramSrcBandLength
         8: .line 2741
            aload 4 /* dstBands */
            ifnonnull 9
            iload 2 /* numDstBands */
            goto 10
      StackMap locals: int
      StackMap stack:
         9: aload 4 /* dstBands */
            arraylength
        10: .line 2740
      StackMap locals:
      StackMap stack: int
            istore 6 /* paramDstBandLength */
        start local 6 // int paramDstBandLength
        11: .line 2743
            iload 5 /* paramSrcBandLength */
            iload 6 /* paramDstBandLength */
            if_icmpeq 13
        12: .line 2744
            new java.lang.IllegalArgumentException
            dup
            ldc "ImageReadParam num source & dest bands differ!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2747
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            ifnull 20
        14: .line 2748
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 19
        16: .line 2749
      StackMap locals: int
      StackMap stack:
            aload 3 /* srcBands */
            iload 7 /* i */
            iaload
            iload 1 /* numSrcBands */
            if_icmplt 18
        17: .line 2750
            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 2748
      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 2755
      StackMap locals:
      StackMap stack:
            aload 4 /* dstBands */
            ifnull 27
        21: .line 2756
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        22: goto 26
        23: .line 2757
      StackMap locals: int
      StackMap stack:
            aload 4 /* dstBands */
            iload 7 /* i */
            iaload
            iload 2 /* numDstBands */
            if_icmplt 25
        24: .line 2758
            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 2756
      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 2762
      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 2817
            aload 1 /* imageTypes */
            ifnull 1
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         1: .line 2818
      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 2820
      StackMap locals:
      StackMap stack:
            iload 2 /* width */
            i2l
            iload 3 /* height */
            i2l
            lmul
            ldc 2147483647
            lcmp
            ifle 6
         3: .line 2821
            new java.lang.IllegalArgumentException
            dup
         4: .line 2822
            ldc "width*height > Integer.MAX_VALUE!"
         5: .line 2821
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2825
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* dest */
        start local 4 // java.awt.image.BufferedImage dest
         7: .line 2826
            aconst_null
            astore 5 /* imageType */
        start local 5 // javax.imageio.ImageTypeSpecifier imageType
         8: .line 2829
            aload 0 /* param */
            ifnull 13
         9: .line 2831
            aload 0 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestination:()Ljava/awt/image/BufferedImage;
            astore 4 /* dest */
        10: .line 2832
            aload 4 /* dest */
            ifnull 12
        11: .line 2833
            aload 4 /* dest */
            areturn
        12: .line 2837
      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 2841
      StackMap locals:
      StackMap stack:
            aload 5 /* imageType */
            ifnonnull 21
        14: .line 2842
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
        15: .line 2843
            aload 6 /* o */
            instanceof javax.imageio.ImageTypeSpecifier
            ifne 19
        16: .line 2844
            new java.lang.IllegalArgumentException
            dup
        17: .line 2845
            ldc "Non-ImageTypeSpecifier retrieved from imageTypes!"
        18: .line 2844
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 2847
      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 2848
            goto 33
        21: .line 2849
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* foundIt */
        start local 6 // boolean foundIt
        22: .line 2850
            goto 28
        23: .line 2852
      StackMap locals: int
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageTypeSpecifier
        24: .line 2851
            astore 7 /* type */
        start local 7 // javax.imageio.ImageTypeSpecifier type
        25: .line 2853
            aload 7 /* type */
            aload 5 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 2854
            iconst_1
            istore 6 /* foundIt */
        27: .line 2855
            goto 29
        end local 7 // javax.imageio.ImageTypeSpecifier type
        28: .line 2850
      StackMap locals:
      StackMap stack:
            aload 1 /* imageTypes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        29: .line 2859
      StackMap locals:
      StackMap stack:
            iload 6 /* foundIt */
            ifne 33
        30: .line 2860
            new javax.imageio.IIOException
            dup
        31: .line 2861
            ldc "Destination type from ImageReadParam does not match!"
        32: .line 2860
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean foundIt
        33: .line 2865
      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 2866
            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 2867
            aload 0 /* param */
        36: .line 2868
            iload 2 /* width */
        37: .line 2869
            iload 3 /* height */
        38: .line 2870
            aconst_null
        39: .line 2871
            aload 6 /* srcRegion */
        40: .line 2872
            aload 7 /* destRegion */
        41: .line 2867
            invokestatic javax.imageio.ImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        42: .line 2874
            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 2875
            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 2877
            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"