public abstract class com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor extends com.sun.imageio.plugins.tiff.TIFFCompressor
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor
  super_class: com.sun.imageio.plugins.tiff.TIFFCompressor
{
  protected static final java.lang.String STREAM_METADATA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax_imageio_jpeg_stream_1.0"

  protected static final java.lang.String IMAGE_METADATA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax_imageio_jpeg_image_1.0"

  private javax.imageio.ImageWriteParam param;
    descriptor: Ljavax/imageio/ImageWriteParam;
    flags: (0x0002) ACC_PRIVATE

  protected javax.imageio.plugins.jpeg.JPEGImageWriteParam JPEGParam;
    descriptor: Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
    flags: (0x0004) ACC_PROTECTED

  protected javax.imageio.ImageWriter JPEGWriter;
    descriptor: Ljavax/imageio/ImageWriter;
    flags: (0x0004) ACC_PROTECTED

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

  protected javax.imageio.metadata.IIOMetadata JPEGStreamMetadata;
    descriptor: Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0004) ACC_PROTECTED

  private javax.imageio.metadata.IIOMetadata JPEGImageMetadata;
    descriptor: Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream baos;
    descriptor: Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private static void pruneNodes(org.w3c.dom.Node, boolean);
    descriptor: (Lorg/w3c/dom/Node;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.w3c.dom.Node tree
        start local 1 // boolean pruneTables
         0: .line 123
            aload 0 /* tree */
            ifnonnull 2
         1: .line 124
            new java.lang.NullPointerException
            dup
            ldc "tree == null!"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* tree */
            invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
            ldc "javax_imageio_jpeg_image_1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         3: .line 127
            new java.lang.IllegalArgumentException
            dup
         4: .line 128
            ldc "root node name is not javax_imageio_jpeg_image_1.0!"
         5: .line 127
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 132
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* wantedNodes */
        start local 2 // java.util.List wantedNodes
         7: .line 133
            aload 2 /* wantedNodes */
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 134
            ldc "JPEGvariety"
            aastore
            dup
            iconst_1
            ldc "markerSequence"
            aastore
            dup
            iconst_2
         9: .line 135
            ldc "sof"
            aastore
            dup
            iconst_3
            ldc "componentSpec"
            aastore
            dup
            iconst_4
        10: .line 136
            ldc "sos"
            aastore
            dup
            iconst_5
            ldc "scanComponentSpec"
            aastore
        11: .line 133
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 140
            iload 1 /* pruneTables */
            ifne 17
        13: .line 141
            aload 2 /* wantedNodes */
            ldc "dht"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 142
            aload 2 /* wantedNodes */
            ldc "dhtable"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 143
            aload 2 /* wantedNodes */
            ldc "dqt"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 144
            aload 2 /* wantedNodes */
            ldc "dqtable"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 147
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* tree */
            checkcast javax.imageio.metadata.IIOMetadataNode
            astore 3 /* iioTree */
        start local 3 // javax.imageio.metadata.IIOMetadataNode iioTree
        18: .line 149
            aload 3 /* iioTree */
            aconst_null
            invokestatic com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.getAllNodes:(Ljavax/imageio/metadata/IIOMetadataNode;Ljava/util/List;)Ljava/util/List;
            astore 4 /* nodes */
        start local 4 // java.util.List nodes
        19: .line 150
            aload 4 /* nodes */
            invokeinterface java.util.List.size:()I
            istore 5 /* numNodes */
        start local 5 // int numNodes
        20: .line 152
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        21: goto 26
        22: .line 153
      StackMap locals: org.w3c.dom.Node int java.util.List javax.imageio.metadata.IIOMetadataNode java.util.List int int
      StackMap stack:
            aload 4 /* nodes */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.w3c.dom.Node
            astore 7 /* node */
        start local 7 // org.w3c.dom.Node node
        23: .line 154
            aload 2 /* wantedNodes */
            aload 7 /* node */
            invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 155
            aload 7 /* node */
            invokeinterface org.w3c.dom.Node.getParentNode:()Lorg/w3c/dom/Node;
            aload 7 /* node */
            invokeinterface org.w3c.dom.Node.removeChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 7 // org.w3c.dom.Node node
        25: .line 152
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            iload 5 /* numNodes */
            if_icmplt 22
        end local 6 // int i
        27: .line 158
            return
        end local 5 // int numNodes
        end local 4 // java.util.List nodes
        end local 3 // javax.imageio.metadata.IIOMetadataNode iioTree
        end local 2 // java.util.List wantedNodes
        end local 1 // boolean pruneTables
        end local 0 // org.w3c.dom.Node tree
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         tree  Lorg/w3c/dom/Node;
            0   28     1  pruneTables  Z
            7   28     2  wantedNodes  Ljava/util/List<Ljava/lang/String;>;
           18   28     3      iioTree  Ljavax/imageio/metadata/IIOMetadataNode;
           19   28     4        nodes  Ljava/util/List<Lorg/w3c/dom/Node;>;
           20   28     5     numNodes  I
           21   27     6            i  I
           23   25     7         node  Lorg/w3c/dom/Node;
    MethodParameters:
             Name  Flags
      tree         
      pruneTables  

  private static java.util.List<org.w3c.dom.Node> getAllNodes(javax.imageio.metadata.IIOMetadataNode, java.util.List<org.w3c.dom.Node>);
    descriptor: (Ljavax/imageio/metadata/IIOMetadataNode;Ljava/util/List;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.imageio.metadata.IIOMetadataNode root
        start local 1 // java.util.List nodes
         0: .line 161
            aload 1 /* nodes */
            ifnonnull 1
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* nodes */
         1: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            invokevirtual javax.imageio.metadata.IIOMetadataNode.hasChildNodes:()Z
            ifeq 8
         2: .line 164
            aload 0 /* root */
            invokevirtual javax.imageio.metadata.IIOMetadataNode.getFirstChild:()Lorg/w3c/dom/Node;
            astore 2 /* sibling */
        start local 2 // org.w3c.dom.Node sibling
         3: .line 165
            goto 7
         4: .line 166
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 1 /* nodes */
            aload 2 /* sibling */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 167
            aload 2 /* sibling */
            checkcast javax.imageio.metadata.IIOMetadataNode
            aload 1 /* nodes */
            invokestatic com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.getAllNodes:(Ljavax/imageio/metadata/IIOMetadataNode;Ljava/util/List;)Ljava/util/List;
            astore 1 /* nodes */
         6: .line 168
            aload 2 /* sibling */
            invokeinterface org.w3c.dom.Node.getNextSibling:()Lorg/w3c/dom/Node;
            astore 2 /* sibling */
         7: .line 165
      StackMap locals:
      StackMap stack:
            aload 2 /* sibling */
            ifnonnull 4
        end local 2 // org.w3c.dom.Node sibling
         8: .line 172
      StackMap locals:
      StackMap stack:
            aload 1 /* nodes */
            areturn
        end local 1 // java.util.List nodes
        end local 0 // javax.imageio.metadata.IIOMetadataNode root
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     root  Ljavax/imageio/metadata/IIOMetadataNode;
            0    9     1    nodes  Ljava/util/List<Lorg/w3c/dom/Node;>;
            3    8     2  sibling  Lorg/w3c/dom/Node;
    Signature: (Ljavax/imageio/metadata/IIOMetadataNode;Ljava/util/List<Lorg/w3c/dom/Node;>;)Ljava/util/List<Lorg/w3c/dom/Node;>;
    MethodParameters:
       Name  Flags
      root   
      nodes  

  public void <init>(java.lang.String, int, boolean, javax.imageio.ImageWriteParam);
    descriptor: (Ljava/lang/String;IZLjavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
        start local 1 // java.lang.String compressionType
        start local 2 // int compressionTagValue
        start local 3 // boolean isCompressionLossless
        start local 4 // javax.imageio.ImageWriteParam param
         0: .line 179
            aload 0 /* this */
            aload 1 /* compressionType */
            iload 2 /* compressionTagValue */
            iload 3 /* isCompressionLossless */
            invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.<init>:(Ljava/lang/String;IZ)V
         1: .line 73
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
         2: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
         3: .line 85
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
         4: .line 92
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writeAbbreviatedStream:Z
         5: .line 100
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGStreamMetadata:Ljavax/imageio/metadata/IIOMetadata;
         6: .line 103
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
         7: .line 181
            aload 0 /* this */
            aload 4 /* param */
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
         8: .line 182
            return
        end local 4 // javax.imageio.ImageWriteParam param
        end local 3 // boolean isCompressionLossless
        end local 2 // int compressionTagValue
        end local 1 // java.lang.String compressionType
        end local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor;
            0    9     1        compressionType  Ljava/lang/String;
            0    9     2    compressionTagValue  I
            0    9     3  isCompressionLossless  Z
            0    9     4                  param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
                       Name  Flags
      compressionType        
      compressionTagValue    
      isCompressionLossless  
      param                  

  protected void initJPEGWriter(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
        start local 1 // boolean supportsStreamMetadata
        start local 2 // boolean supportsImageMetadata
         0: .line 216
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnull 11
         1: .line 217
            iload 1 /* supportsStreamMetadata */
            ifne 2
            iload 2 /* supportsImageMetadata */
            ifeq 11
         2: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            invokevirtual javax.imageio.ImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 3 /* spi */
        start local 3 // javax.imageio.spi.ImageWriterSpi spi
         3: .line 219
            iload 1 /* supportsStreamMetadata */
            ifeq 7
         4: .line 220
            aload 3 /* spi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.getNativeStreamMetadataFormatName:()Ljava/lang/String;
            astore 4 /* smName */
        start local 4 // java.lang.String smName
         5: .line 221
            aload 4 /* smName */
            ifnull 6
            aload 4 /* smName */
            ldc "javax_imageio_jpeg_stream_1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 222
      StackMap locals: javax.imageio.spi.ImageWriterSpi java.lang.String
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
        end local 4 // java.lang.String smName
         7: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnull 11
            iload 2 /* supportsImageMetadata */
            ifeq 11
         8: .line 226
            aload 3 /* spi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.getNativeImageMetadataFormatName:()Ljava/lang/String;
            astore 4 /* imName */
        start local 4 // java.lang.String imName
         9: .line 227
            aload 4 /* imName */
            ifnull 10
            aload 4 /* imName */
            ldc "javax_imageio_jpeg_image_1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 228
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
        end local 4 // java.lang.String imName
        end local 3 // javax.imageio.spi.ImageWriterSpi spi
        11: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnonnull 36
        12: .line 235
            ldc "jpeg"
            invokestatic javax.imageio.ImageIO.getImageWritersByFormatName:(Ljava/lang/String;)Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
        13: .line 237
            goto 31
        14: .line 239
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageWriter
            astore 4 /* writer */
        start local 4 // javax.imageio.ImageWriter writer
        15: .line 242
            iload 1 /* supportsStreamMetadata */
            ifne 16
            iload 2 /* supportsImageMetadata */
            ifeq 29
        16: .line 243
      StackMap locals: javax.imageio.ImageWriter
      StackMap stack:
            aload 4 /* writer */
            invokevirtual javax.imageio.ImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 5 /* spi */
        start local 5 // javax.imageio.spi.ImageWriterSpi spi
        17: .line 244
            iload 1 /* supportsStreamMetadata */
            ifeq 23
        18: .line 246
            aload 5 /* spi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.getNativeStreamMetadataFormatName:()Ljava/lang/String;
        19: .line 245
            astore 6 /* smName */
        start local 6 // java.lang.String smName
        20: .line 247
            aload 6 /* smName */
            ifnull 31
        21: .line 248
            aload 6 /* smName */
            ldc "javax_imageio_jpeg_stream_1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 250
            goto 31
        end local 6 // java.lang.String smName
        23: .line 253
      StackMap locals: javax.imageio.spi.ImageWriterSpi
      StackMap stack:
            iload 2 /* supportsImageMetadata */
            ifeq 29
        24: .line 255
            aload 5 /* spi */
            invokevirtual javax.imageio.spi.ImageWriterSpi.getNativeImageMetadataFormatName:()Ljava/lang/String;
        25: .line 254
            astore 6 /* imName */
        start local 6 // java.lang.String imName
        26: .line 256
            aload 6 /* imName */
            ifnull 31
        27: .line 257
            aload 6 /* imName */
            ldc "javax_imageio_jpeg_image_1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 259
            goto 31
        end local 6 // java.lang.String imName
        end local 5 // javax.imageio.spi.ImageWriterSpi spi
        29: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* writer */
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
        30: .line 266
            goto 32
        end local 4 // javax.imageio.ImageWriter writer
        31: .line 237
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        32: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnonnull 36
        33: .line 270
            new java.lang.NullPointerException
            dup
        34: .line 271
            ldc "No appropriate JPEG writers found!"
        35: .line 270
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Iterator iter
        36: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
            ifnonnull 50
        37: .line 277
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            ifnull 40
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            instanceof javax.imageio.plugins.jpeg.JPEGImageWriteParam
            ifeq 40
        38: .line 278
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            checkcast javax.imageio.plugins.jpeg.JPEGImageWriteParam
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
        39: .line 279
            goto 50
        40: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        41: .line 281
            new javax.imageio.plugins.jpeg.JPEGImageWriteParam
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writer:Ljavax/imageio/ImageWriter;
            ifnull 43
        42: .line 282
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writer:Ljavax/imageio/ImageWriter;
            invokevirtual javax.imageio.ImageWriter.getLocale:()Ljava/util/Locale;
            goto 44
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor int int
      StackMap stack: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor new 41 new 41
        43: aconst_null
        44: .line 281
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor int int
      StackMap stack: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor new 41 new 41 java.util.Locale
            invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
        45: .line 280
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
        46: .line 283
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            ifnull 50
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
        47: .line 284
            iconst_2
            if_icmpne 50
        48: .line 285
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
            iconst_2
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.setCompressionMode:(I)V
        49: .line 286
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.param:Ljavax/imageio/ImageWriteParam;
            invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.setCompressionQuality:(F)V
        50: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean supportsImageMetadata
        end local 1 // boolean supportsStreamMetadata
        end local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   51     0                    this  Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor;
            0   51     1  supportsStreamMetadata  Z
            0   51     2   supportsImageMetadata  Z
            3   11     3                     spi  Ljavax/imageio/spi/ImageWriterSpi;
            5    7     4                  smName  Ljava/lang/String;
            9   11     4                  imName  Ljava/lang/String;
           13   36     3                    iter  Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
           15   31     4                  writer  Ljavax/imageio/ImageWriter;
           17   29     5                     spi  Ljavax/imageio/spi/ImageWriterSpi;
           20   23     6                  smName  Ljava/lang/String;
           26   29     6                  imName  Ljava/lang/String;
    MethodParameters:
                        Name  Flags
      supportsStreamMetadata  
      supportsImageMetadata   

  private javax.imageio.metadata.IIOMetadata getImageMetadata(boolean);
    descriptor: (Z)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
        start local 1 // boolean pruneTables
         0: .line 297
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
            ifnonnull 19
         1: .line 298
            ldc "javax_imageio_jpeg_image_1.0"
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            invokevirtual javax.imageio.ImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            invokevirtual javax.imageio.spi.ImageWriterSpi.getNativeImageMetadataFormatName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
         2: .line 299
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writer:Ljavax/imageio/ImageWriter;
            checkcast com.sun.imageio.plugins.tiff.TIFFImageWriter
            astore 2 /* tiffWriter */
        start local 2 // com.sun.imageio.plugins.tiff.TIFFImageWriter tiffWriter
         3: .line 302
            aload 0 /* this */
         4: .line 303
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            aload 2 /* tiffWriter */
            invokevirtual com.sun.imageio.plugins.tiff.TIFFImageWriter.getImageType:()Ljavax/imageio/ImageTypeSpecifier;
         5: .line 304
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
         6: .line 303
            invokevirtual javax.imageio.ImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
         7: .line 302
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
         8: .line 307
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
            ldc "javax_imageio_jpeg_image_1.0"
            invokevirtual javax.imageio.metadata.IIOMetadata.getAsTree:(Ljava/lang/String;)Lorg/w3c/dom/Node;
            astore 3 /* tree */
        start local 3 // org.w3c.dom.Node tree
         9: .line 311
            aload 3 /* tree */
            iload 1 /* pruneTables */
            invokestatic com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.pruneNodes:(Lorg/w3c/dom/Node;Z)V
        10: .line 312
            goto 13
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor int com.sun.imageio.plugins.tiff.TIFFImageWriter org.w3c.dom.Node
      StackMap stack: java.lang.IllegalArgumentException
        11: astore 4 /* e */
        start local 4 // java.lang.IllegalArgumentException e
        12: .line 313
            new javax.imageio.IIOException
            dup
            ldc "Error pruning unwanted nodes"
            aload 4 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.IllegalArgumentException e
        13: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
            ldc "javax_imageio_jpeg_image_1.0"
            aload 3 /* tree */
            invokevirtual javax.imageio.metadata.IIOMetadata.setFromTree:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
        14: .line 319
            goto 19
      StackMap locals:
      StackMap stack: javax.imageio.metadata.IIOInvalidTreeException
        15: astore 4 /* e */
        start local 4 // javax.imageio.metadata.IIOInvalidTreeException e
        16: .line 320
            new javax.imageio.IIOException
            dup
        17: .line 321
            ldc "Cannot set pruned image metadata!"
            aload 4 /* e */
        18: .line 320
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // javax.imageio.metadata.IIOInvalidTreeException e
        end local 3 // org.w3c.dom.Node tree
        end local 2 // com.sun.imageio.plugins.tiff.TIFFImageWriter tiffWriter
        19: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGImageMetadata:Ljavax/imageio/metadata/IIOMetadata;
            areturn
        end local 1 // boolean pruneTables
        end local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor;
            0   20     1  pruneTables  Z
            3   19     2   tiffWriter  Lcom/sun/imageio/plugins/tiff/TIFFImageWriter;
            9   19     3         tree  Lorg/w3c/dom/Node;
           12   13     4            e  Ljava/lang/IllegalArgumentException;
           16   19     4            e  Ljavax/imageio/metadata/IIOInvalidTreeException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.IllegalArgumentException
          13    14      15  Class javax.imageio.metadata.IIOInvalidTreeException
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
             Name  Flags
      pruneTables  

  public final int encode(byte[], int, int, int, int[], int);
    descriptor: ([BIII[II)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=18, args_size=7
        start local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor 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 332
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnonnull 2
         1: .line 333
            new javax.imageio.IIOException
            dup
            ldc "JPEG writer has not been initialized!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 5 /* bitsPerSample */
            arraylength
            iconst_3
            if_icmpne 6
         3: .line 336
            aload 5 /* bitsPerSample */
            iconst_0
            iaload
            bipush 8
            if_icmpne 6
         4: .line 337
            aload 5 /* bitsPerSample */
            iconst_1
            iaload
            bipush 8
            if_icmpne 6
         5: .line 338
            aload 5 /* bitsPerSample */
            iconst_2
            iaload
            bipush 8
            if_icmpeq 9
         6: .line 339
      StackMap locals:
      StackMap stack:
            aload 5 /* bitsPerSample */
            arraylength
            iconst_1
            if_icmpne 8
         7: .line 340
            aload 5 /* bitsPerSample */
            iconst_0
            iaload
            bipush 8
            if_icmpeq 9
         8: .line 341
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "Can only JPEG compress 8- and 24-bit images!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            ifnonnull 12
        10: .line 349
            aload 0 /* this */
            new com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream
            dup
            invokespecial com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.<init>:()V
            putfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
        11: .line 350
            goto 13
        12: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.reset:()V
        13: .line 353
      StackMap locals:
      StackMap stack:
            new javax.imageio.stream.MemoryCacheImageOutputStream
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            invokespecial javax.imageio.stream.MemoryCacheImageOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 7 /* ios */
        start local 7 // javax.imageio.stream.ImageOutputStream ios
        14: .line 354
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            aload 7 /* ios */
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
        15: .line 358
            iload 2 /* off */
            ifne 18
        16: .line 359
            new java.awt.image.DataBufferByte
            dup
            aload 1 /* b */
            aload 1 /* b */
            arraylength
            invokespecial java.awt.image.DataBufferByte.<init>:([BI)V
            astore 8 /* dbb */
        start local 8 // java.awt.image.DataBufferByte dbb
        17: .line 360
            goto 23
        end local 8 // java.awt.image.DataBufferByte dbb
        18: .line 365
      StackMap locals: javax.imageio.stream.ImageOutputStream
      StackMap stack:
            iload 6 /* scanlineStride */
            iload 4 /* height */
            imul
            istore 9 /* bytesPerSegment */
        start local 9 // int bytesPerSegment
        19: .line 366
            iload 9 /* bytesPerSegment */
            newarray 8
            astore 10 /* btmp */
        start local 10 // byte[] btmp
        20: .line 367
            aload 1 /* b */
            iload 2 /* off */
            aload 10 /* btmp */
            iconst_0
            iload 9 /* bytesPerSegment */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 368
            new java.awt.image.DataBufferByte
            dup
            aload 10 /* btmp */
            iload 9 /* bytesPerSegment */
            invokespecial java.awt.image.DataBufferByte.<init>:([BI)V
            astore 8 /* dbb */
        start local 8 // java.awt.image.DataBufferByte dbb
        22: .line 369
            iconst_0
            istore 2 /* off */
        end local 10 // byte[] btmp
        end local 9 // int bytesPerSegment
        23: .line 375
      StackMap locals: java.awt.image.DataBufferByte
      StackMap stack:
            aload 5 /* bitsPerSample */
            arraylength
            iconst_3
            if_icmpne 27
        24: .line 376
            iconst_3
            newarray 10
            dup
            iconst_0
            iload 2 /* off */
            iastore
            dup
            iconst_1
            iload 2 /* off */
            iconst_1
            iadd
            iastore
            dup
            iconst_2
            iload 2 /* off */
            iconst_2
            iadd
            iastore
            astore 9 /* offsets */
        start local 9 // int[] offsets
        25: .line 377
            sipush 1000
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 10 /* cs */
        start local 10 // java.awt.color.ColorSpace cs
        26: .line 378
            goto 29
        end local 10 // java.awt.color.ColorSpace cs
        end local 9 // int[] offsets
        27: .line 379
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 2 /* off */
            iastore
            astore 9 /* offsets */
        start local 9 // int[] offsets
        28: .line 380
            sipush 1003
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 10 /* cs */
        start local 10 // java.awt.color.ColorSpace cs
        29: .line 384
      StackMap locals: int[] java.awt.color.ColorSpace
      StackMap stack:
            new java.awt.image.ComponentColorModel
            dup
            aload 10 /* cs */
        30: .line 385
            iconst_0
        31: .line 386
            iconst_0
        32: .line 387
            iconst_1
        33: .line 388
            iconst_0
        34: .line 384
            invokespecial java.awt.image.ComponentColorModel.<init>:(Ljava/awt/color/ColorSpace;ZZII)V
            astore 11 /* cm */
        start local 11 // java.awt.image.ColorModel cm
        35: .line 392
            new java.awt.image.PixelInterleavedSampleModel
            dup
            iconst_0
        36: .line 393
            iload 3 /* width */
            iload 4 /* height */
        37: .line 394
            aload 5 /* bitsPerSample */
            arraylength
        38: .line 395
            iload 6 /* scanlineStride */
        39: .line 396
            aload 9 /* offsets */
        40: .line 392
            invokespecial java.awt.image.PixelInterleavedSampleModel.<init>:(IIIII[I)V
        41: .line 391
            astore 12 /* sm */
        start local 12 // java.awt.image.SampleModel sm
        42: .line 400
            aload 12 /* sm */
            aload 8 /* dbb */
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            invokestatic java.awt.image.Raster.createWritableRaster:(Ljava/awt/image/SampleModel;Ljava/awt/image/DataBuffer;Ljava/awt/Point;)Ljava/awt/image/WritableRaster;
        43: .line 399
            astore 13 /* wras */
        start local 13 // java.awt.image.WritableRaster wras
        44: .line 403
            new java.awt.image.BufferedImage
            dup
            aload 11 /* cm */
            aload 13 /* wras */
            iconst_0
            aconst_null
            invokespecial java.awt.image.BufferedImage.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/WritableRaster;ZLjava/util/Hashtable;)V
            astore 14 /* bi */
        start local 14 // java.awt.image.BufferedImage bi
        45: .line 406
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writeAbbreviatedStream:Z
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.getImageMetadata:(Z)Ljavax/imageio/metadata/IIOMetadata;
            astore 15 /* imageMetadata */
        start local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        46: .line 410
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.writeAbbreviatedStream:Z
            ifeq 54
        47: .line 414
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGStreamMetadata:Ljavax/imageio/metadata/IIOMetadata;
            invokevirtual javax.imageio.ImageWriter.prepareWriteSequence:(Ljavax/imageio/metadata/IIOMetadata;)V
        48: .line 415
            aload 7 /* ios */
            invokeinterface javax.imageio.stream.ImageOutputStream.flush:()V
        49: .line 418
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.reset:()V
        50: .line 421
            new javax.imageio.IIOImage
            dup
            aload 14 /* bi */
            aconst_null
            aload 15 /* imageMetadata */
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            astore 17 /* image */
        start local 17 // javax.imageio.IIOImage image
        51: .line 422
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            aload 17 /* image */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
            invokevirtual javax.imageio.ImageWriter.writeToSequence:(Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        52: .line 423
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            invokevirtual javax.imageio.ImageWriter.endWriteSequence:()V
        end local 17 // javax.imageio.IIOImage image
        53: .line 424
            goto 58
        54: .line 426
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor byte[] int int int int[] int javax.imageio.stream.ImageOutputStream java.awt.image.DataBufferByte int[] java.awt.color.ColorSpace java.awt.image.ColorModel java.awt.image.SampleModel java.awt.image.WritableRaster java.awt.image.BufferedImage javax.imageio.metadata.IIOMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            aconst_null
        55: .line 427
            new javax.imageio.IIOImage
            dup
            aload 14 /* bi */
            aconst_null
            aload 15 /* imageMetadata */
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
        56: .line 428
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGParam:Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
        57: .line 426
            invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        58: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.size:()I
            istore 16 /* compDataLength */
        start local 16 // int compDataLength
        59: .line 432
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.writeTo:(Ljavax/imageio/stream/ImageOutputStream;)V
        60: .line 433
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.baos:Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor$IIOByteArrayOutputStream;
            invokevirtual com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream.reset:()V
        61: .line 435
            iload 16 /* compDataLength */
            ireturn
        end local 16 // int compDataLength
        end local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 14 // java.awt.image.BufferedImage bi
        end local 13 // java.awt.image.WritableRaster wras
        end local 12 // java.awt.image.SampleModel sm
        end local 11 // java.awt.image.ColorModel cm
        end local 10 // java.awt.color.ColorSpace cs
        end local 9 // int[] offsets
        end local 8 // java.awt.image.DataBufferByte dbb
        end local 7 // javax.imageio.stream.ImageOutputStream ios
        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.TIFFBaseJPEGCompressor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   62     0             this  Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor;
            0   62     1                b  [B
            0   62     2              off  I
            0   62     3            width  I
            0   62     4           height  I
            0   62     5    bitsPerSample  [I
            0   62     6   scanlineStride  I
           14   62     7              ios  Ljavax/imageio/stream/ImageOutputStream;
           17   18     8              dbb  Ljava/awt/image/DataBufferByte;
           22   62     8              dbb  Ljava/awt/image/DataBufferByte;
           19   23     9  bytesPerSegment  I
           20   23    10             btmp  [B
           25   27     9          offsets  [I
           28   62     9          offsets  [I
           26   27    10               cs  Ljava/awt/color/ColorSpace;
           29   62    10               cs  Ljava/awt/color/ColorSpace;
           35   62    11               cm  Ljava/awt/image/ColorModel;
           42   62    12               sm  Ljava/awt/image/SampleModel;
           44   62    13             wras  Ljava/awt/image/WritableRaster;
           45   62    14               bi  Ljava/awt/image/BufferedImage;
           46   62    15    imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
           59   62    16   compDataLength  I
           51   53    17            image  Ljavax/imageio/IIOImage;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      b               
      off             
      width           
      height          
      bitsPerSample   
      scanlineStride  

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
         0: .line 440
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 441
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            ifnull 3
         2: .line 442
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor.JPEGWriter:Ljavax/imageio/ImageWriter;
            invokevirtual javax.imageio.ImageWriter.dispose:()V
         3: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor;
    Exceptions:
      throws java.lang.Throwable
}
SourceFile: "TIFFBaseJPEGCompressor.java"
NestMembers:
  com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream
InnerClasses:
  private IIOByteArrayOutputStream = com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor$IIOByteArrayOutputStream of com.sun.imageio.plugins.tiff.TIFFBaseJPEGCompressor