class javax.imageio.ImageTypeSpecifier$Indexed extends javax.imageio.ImageTypeSpecifier
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.imageio.ImageTypeSpecifier$Indexed
  super_class: javax.imageio.ImageTypeSpecifier
{
  byte[] redLUT;
    descriptor: [B
    flags: (0x0000) 

  byte[] greenLUT;
    descriptor: [B
    flags: (0x0000) 

  byte[] blueLUT;
    descriptor: [B
    flags: (0x0000) 

  byte[] alphaLUT;
    descriptor: [B
    flags: (0x0000) 

  int bits;
    descriptor: I
    flags: (0x0000) 

  int dataType;
    descriptor: I
    flags: (0x0000) 

  public void <init>(byte[], byte[], byte[], byte[], int, int);
    descriptor: ([B[B[B[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // javax.imageio.ImageTypeSpecifier$Indexed this
        start local 1 // byte[] redLUT
        start local 2 // byte[] greenLUT
        start local 3 // byte[] blueLUT
        start local 4 // byte[] alphaLUT
        start local 5 // int bits
        start local 6 // int dataType
         0: .line 739
            aload 0 /* this */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:()V
         1: .line 735
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.ImageTypeSpecifier$Indexed.alphaLUT:[B
         2: .line 745
            aload 1 /* redLUT */
            ifnull 3
            aload 2 /* greenLUT */
            ifnull 3
            aload 3 /* blueLUT */
            ifnonnull 4
         3: .line 746
      StackMap locals: javax.imageio.ImageTypeSpecifier$Indexed byte[] byte[] byte[] byte[] int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "LUT is null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 748
      StackMap locals:
      StackMap stack:
            iload 5 /* bits */
            iconst_1
            if_icmpeq 7
            iload 5 /* bits */
            iconst_2
            if_icmpeq 7
            iload 5 /* bits */
            iconst_4
            if_icmpeq 7
         5: .line 749
            iload 5 /* bits */
            bipush 8
            if_icmpeq 7
            iload 5 /* bits */
            bipush 16
            if_icmpeq 7
         6: .line 750
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad value for bits!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 752
      StackMap locals:
      StackMap stack:
            iload 6 /* dataType */
            ifeq 14
         8: .line 753
            iload 6 /* dataType */
            iconst_2
            if_icmpeq 14
         9: .line 754
            iload 6 /* dataType */
            iconst_1
            if_icmpeq 14
        10: .line 755
            iload 6 /* dataType */
            iconst_3
            if_icmpeq 14
        11: .line 756
            new java.lang.IllegalArgumentException
            dup
        12: .line 757
            ldc "Bad value for dataType!"
        13: .line 756
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 759
      StackMap locals:
      StackMap stack:
            iload 5 /* bits */
            bipush 8
            if_icmple 15
            iload 6 /* dataType */
            ifeq 16
        15: .line 760
      StackMap locals:
      StackMap stack:
            iload 5 /* bits */
            bipush 16
            if_icmple 19
            iload 6 /* dataType */
            iconst_3
            if_icmpeq 19
        16: .line 761
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        17: .line 762
            ldc "Too many bits for dataType!"
        18: .line 761
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 765
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 5 /* bits */
            ishl
            istore 7 /* len */
        start local 7 // int len
        20: .line 766
            aload 1 /* redLUT */
            arraylength
            iload 7 /* len */
            if_icmpne 24
        21: .line 767
            aload 2 /* greenLUT */
            arraylength
            iload 7 /* len */
            if_icmpne 24
        22: .line 768
            aload 3 /* blueLUT */
            arraylength
            iload 7 /* len */
            if_icmpne 24
        23: .line 769
            aload 4 /* alphaLUT */
            ifnull 25
            aload 4 /* alphaLUT */
            arraylength
            iload 7 /* len */
            if_icmpeq 25
        24: .line 770
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "LUT has improper length!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* redLUT */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield javax.imageio.ImageTypeSpecifier$Indexed.redLUT:[B
        26: .line 773
            aload 0 /* this */
            aload 2 /* greenLUT */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield javax.imageio.ImageTypeSpecifier$Indexed.greenLUT:[B
        27: .line 774
            aload 0 /* this */
            aload 3 /* blueLUT */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield javax.imageio.ImageTypeSpecifier$Indexed.blueLUT:[B
        28: .line 775
            aload 4 /* alphaLUT */
            ifnull 30
        29: .line 776
            aload 0 /* this */
            aload 4 /* alphaLUT */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield javax.imageio.ImageTypeSpecifier$Indexed.alphaLUT:[B
        30: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* bits */
            putfield javax.imageio.ImageTypeSpecifier$Indexed.bits:I
        31: .line 779
            aload 0 /* this */
            iload 6 /* dataType */
            putfield javax.imageio.ImageTypeSpecifier$Indexed.dataType:I
        32: .line 781
            aload 4 /* alphaLUT */
            ifnonnull 40
        33: .line 782
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            iload 5 /* bits */
        34: .line 783
            aload 1 /* redLUT */
            arraylength
        35: .line 784
            aload 1 /* redLUT */
        36: .line 785
            aload 2 /* greenLUT */
        37: .line 786
            aload 3 /* blueLUT */
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
        38: .line 782
            putfield javax.imageio.ImageTypeSpecifier$Indexed.colorModel:Ljava/awt/image/ColorModel;
        39: .line 787
            goto 47
        40: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            iload 5 /* bits */
        41: .line 789
            aload 1 /* redLUT */
            arraylength
        42: .line 790
            aload 1 /* redLUT */
        43: .line 791
            aload 2 /* greenLUT */
        44: .line 792
            aload 3 /* blueLUT */
        45: .line 793
            aload 4 /* alphaLUT */
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B[B)V
        46: .line 788
            putfield javax.imageio.ImageTypeSpecifier$Indexed.colorModel:Ljava/awt/image/ColorModel;
        47: .line 796
      StackMap locals:
      StackMap stack:
            iload 5 /* bits */
            bipush 8
            if_icmpne 48
            iload 6 /* dataType */
            ifeq 51
        48: .line 797
      StackMap locals:
      StackMap stack:
            iload 5 /* bits */
            bipush 16
            if_icmpne 59
        49: .line 798
            iload 6 /* dataType */
            iconst_2
            if_icmpeq 51
        50: .line 799
            iload 6 /* dataType */
            iconst_1
            if_icmpne 59
        51: .line 800
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 10
            astore 8 /* bandOffsets */
        start local 8 // int[] bandOffsets
        52: .line 801
            aload 0 /* this */
        53: .line 802
            new java.awt.image.PixelInterleavedSampleModel
            dup
            iload 6 /* dataType */
        54: .line 803
            iconst_1
            iconst_1
            iconst_1
            iconst_1
        55: .line 804
            aload 8 /* bandOffsets */
        56: .line 802
            invokespecial java.awt.image.PixelInterleavedSampleModel.<init>:(IIIII[I)V
        57: .line 801
            putfield javax.imageio.ImageTypeSpecifier$Indexed.sampleModel:Ljava/awt/image/SampleModel;
        end local 8 // int[] bandOffsets
        58: .line 805
            goto 62
        59: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        60: .line 807
            new java.awt.image.MultiPixelPackedSampleModel
            dup
            iload 6 /* dataType */
            iconst_1
            iconst_1
            iload 5 /* bits */
            invokespecial java.awt.image.MultiPixelPackedSampleModel.<init>:(IIII)V
        61: .line 806
            putfield javax.imageio.ImageTypeSpecifier$Indexed.sampleModel:Ljava/awt/image/SampleModel;
        62: .line 809
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int len
        end local 6 // int dataType
        end local 5 // int bits
        end local 4 // byte[] alphaLUT
        end local 3 // byte[] blueLUT
        end local 2 // byte[] greenLUT
        end local 1 // byte[] redLUT
        end local 0 // javax.imageio.ImageTypeSpecifier$Indexed this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   63     0         this  Ljavax/imageio/ImageTypeSpecifier$Indexed;
            0   63     1       redLUT  [B
            0   63     2     greenLUT  [B
            0   63     3      blueLUT  [B
            0   63     4     alphaLUT  [B
            0   63     5         bits  I
            0   63     6     dataType  I
           20   63     7          len  I
           52   58     8  bandOffsets  [I
    MethodParameters:
          Name  Flags
      redLUT    
      greenLUT  
      blueLUT   
      alphaLUT  
      bits      
      dataType  
}
SourceFile: "ImageTypeSpecifier.java"
NestHost: javax.imageio.ImageTypeSpecifier
InnerClasses:
  Indexed = javax.imageio.ImageTypeSpecifier$Indexed of javax.imageio.ImageTypeSpecifier