public class com.sun.imageio.plugins.tiff.TIFFLZWCompressor extends com.sun.imageio.plugins.tiff.TIFFCompressor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.tiff.TIFFLZWCompressor
  super_class: com.sun.imageio.plugins.tiff.TIFFCompressor
{
  private final int predictor;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
        start local 1 // int predictorValue
         0: .line 40
            aload 0 /* this */
            ldc "LZW"
            iconst_5
            iconst_1
            invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.<init>:(Ljava/lang/String;IZ)V
         1: .line 41
            aload 0 /* this */
            iload 1 /* predictorValue */
            putfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.predictor:I
         2: .line 42
            return
        end local 1 // int predictorValue
        end local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
            0    3     1  predictorValue  I
    MethodParameters:
                Name  Flags
      predictorValue  

  public void setStream(javax.imageio.stream.ImageOutputStream);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
        start local 1 // javax.imageio.stream.ImageOutputStream stream
         0: .line 45
            aload 0 /* this */
            aload 1 /* stream */
            invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.setStream:(Ljavax/imageio/stream/ImageOutputStream;)V
         1: .line 46
            return
        end local 1 // javax.imageio.stream.ImageOutputStream stream
        end local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
            0    2     1  stream  Ljavax/imageio/stream/ImageOutputStream;
    MethodParameters:
        Name  Flags
      stream  

  public int encode(byte[], int, int, int, int[], int);
    descriptor: ([BIII[II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=7
        start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int width
        start local 4 // int height
        start local 5 // int[] bitsPerSample
        start local 6 // int scanlineStride
         0: .line 53
            new com.sun.imageio.plugins.common.LZWCompressor
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 8
            iconst_1
            invokespecial com.sun.imageio.plugins.common.LZWCompressor.<init>:(Ljavax/imageio/stream/ImageOutputStream;IZ)V
            astore 7 /* lzwCompressor */
        start local 7 // com.sun.imageio.plugins.common.LZWCompressor lzwCompressor
         1: .line 55
            aload 5 /* bitsPerSample */
            arraylength
            istore 8 /* samplesPerPixel */
        start local 8 // int samplesPerPixel
         2: .line 56
            iconst_0
            istore 9 /* bitsPerPixel */
        start local 9 // int bitsPerPixel
         3: .line 57
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         4: goto 7
         5: .line 58
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFLZWCompressor byte[] int int int int[] int com.sun.imageio.plugins.common.LZWCompressor int int int
      StackMap stack:
            iload 9 /* bitsPerPixel */
            aload 5 /* bitsPerSample */
            iload 10 /* i */
            iaload
            iadd
            istore 9 /* bitsPerPixel */
         6: .line 57
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 10 /* i */
            iload 8 /* samplesPerPixel */
            if_icmplt 5
        end local 10 // int i
         8: .line 60
            iload 9 /* bitsPerPixel */
            iload 3 /* width */
            imul
            bipush 7
            iadd
            bipush 8
            idiv
            istore 10 /* bytesPerRow */
        start local 10 // int bytesPerRow
         9: .line 62
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 11 /* initialStreamPosition */
        start local 11 // long initialStreamPosition
        10: .line 65
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.predictor:I
            iconst_2
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals: long
      StackMap stack:
        11: iconst_0
        12: .line 64
      StackMap locals:
      StackMap stack: int
            istore 13 /* usePredictor */
        start local 13 // boolean usePredictor
        13: .line 67
            iload 10 /* bytesPerRow */
            iload 6 /* scanlineStride */
            if_icmpne 16
            iload 13 /* usePredictor */
            ifne 16
        14: .line 68
            aload 7 /* lzwCompressor */
            aload 1 /* b */
            iload 2 /* off */
            iload 10 /* bytesPerRow */
            iload 4 /* height */
            imul
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
        15: .line 69
            goto 34
        16: .line 70
      StackMap locals: int
      StackMap stack:
            iload 13 /* usePredictor */
            ifeq 17
            iload 10 /* bytesPerRow */
            newarray 8
            goto 18
      StackMap locals:
      StackMap stack:
        17: aconst_null
      StackMap locals:
      StackMap stack: byte[]
        18: astore 14 /* rowBuf */
        start local 14 // byte[] rowBuf
        19: .line 71
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        20: goto 33
        21: .line 72
      StackMap locals: byte[] int
      StackMap stack:
            iload 13 /* usePredictor */
            ifeq 30
        22: .line 75
            aload 1 /* b */
            iload 2 /* off */
            aload 14 /* rowBuf */
            iconst_0
            iload 10 /* bytesPerRow */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 76
            iload 10 /* bytesPerRow */
            iconst_1
            isub
            istore 16 /* j */
        start local 16 // int j
        24: goto 27
        25: .line 77
      StackMap locals: int
      StackMap stack:
            aload 14 /* rowBuf */
            iload 16 /* j */
            dup2
            baload
            aload 14 /* rowBuf */
            iload 16 /* j */
            iload 8 /* samplesPerPixel */
            isub
            baload
            isub
            i2b
            bastore
        26: .line 76
            iinc 16 /* j */ -1
      StackMap locals:
      StackMap stack:
        27: iload 16 /* j */
            iload 8 /* samplesPerPixel */
            if_icmpge 25
        end local 16 // int j
        28: .line 79
            aload 7 /* lzwCompressor */
            aload 14 /* rowBuf */
            iconst_0
            iload 10 /* bytesPerRow */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
        29: .line 80
            goto 31
        30: .line 81
      StackMap locals:
      StackMap stack:
            aload 7 /* lzwCompressor */
            aload 1 /* b */
            iload 2 /* off */
            iload 10 /* bytesPerRow */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
        31: .line 83
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 6 /* scanlineStride */
            iadd
            istore 2 /* off */
        32: .line 71
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 15 /* i */
            iload 4 /* height */
            if_icmplt 21
        end local 15 // int i
        end local 14 // byte[] rowBuf
        34: .line 87
      StackMap locals:
      StackMap stack:
            aload 7 /* lzwCompressor */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.flush:()V
        35: .line 90
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lload 11 /* initialStreamPosition */
            lsub
            l2i
        36: .line 89
            istore 14 /* bytesWritten */
        start local 14 // int bytesWritten
        37: .line 92
            iload 14 /* bytesWritten */
            ireturn
        end local 14 // int bytesWritten
        end local 13 // boolean usePredictor
        end local 11 // long initialStreamPosition
        end local 10 // int bytesPerRow
        end local 9 // int bitsPerPixel
        end local 8 // int samplesPerPixel
        end local 7 // com.sun.imageio.plugins.common.LZWCompressor lzwCompressor
        end local 6 // int scanlineStride
        end local 5 // int[] bitsPerSample
        end local 4 // int height
        end local 3 // int width
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   38     0                   this  Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
            0   38     1                      b  [B
            0   38     2                    off  I
            0   38     3                  width  I
            0   38     4                 height  I
            0   38     5          bitsPerSample  [I
            0   38     6         scanlineStride  I
            1   38     7          lzwCompressor  Lcom/sun/imageio/plugins/common/LZWCompressor;
            2   38     8        samplesPerPixel  I
            3   38     9           bitsPerPixel  I
            4    8    10                      i  I
            9   38    10            bytesPerRow  I
           10   38    11  initialStreamPosition  J
           13   38    13           usePredictor  Z
           19   34    14                 rowBuf  [B
           20   34    15                      i  I
           24   28    16                      j  I
           37   38    14           bytesWritten  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      b               
      off             
      width           
      height          
      bitsPerSample   
      scanlineStride  
}
SourceFile: "TIFFLZWCompressor.java"