public class com.sun.imageio.plugins.jpeg.JPEGImageWriter extends javax.imageio.ImageWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.jpeg.JPEGImageWriter
  super_class: javax.imageio.ImageWriter
{
  private boolean debug;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long structPointer;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private javax.imageio.stream.ImageOutputStream ios;
    descriptor: Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.Raster srcRas;
    descriptor: Ljava/awt/image/Raster;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.WritableRaster raster;
    descriptor: Ljava/awt/image/WritableRaster;
    flags: (0x0002) ACC_PRIVATE

  private boolean indexed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.IndexColorModel indexCM;
    descriptor: Ljava/awt/image/IndexColorModel;
    flags: (0x0002) ACC_PRIVATE

  private boolean convertTosRGB;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.WritableRaster converted;
    descriptor: Ljava/awt/image/WritableRaster;
    flags: (0x0002) ACC_PRIVATE

  private boolean isAlphaPremultiplied;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.ColorModel srcCM;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List thumbnails;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.color.ICC_Profile iccProfile;
    descriptor: Ljava/awt/color/ICC_Profile;
    flags: (0x0002) ACC_PRIVATE

  private int sourceXOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int sourceYOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int sourceWidth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] srcBands;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int sourceHeight;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int currentImage;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.awt.image.ColorConvertOp convertOp;
    descriptor: Ljava/awt/image/ColorConvertOp;
    flags: (0x0002) ACC_PRIVATE

  private javax.imageio.plugins.jpeg.JPEGQTable[] streamQTables;
    descriptor: [Ljavax/imageio/plugins/jpeg/JPEGQTable;
    flags: (0x0002) ACC_PRIVATE

  private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] streamDCHuffmanTables;
    descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
    flags: (0x0002) ACC_PRIVATE

  private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] streamACHuffmanTables;
    descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
    flags: (0x0002) ACC_PRIVATE

  private boolean ignoreJFIF;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean forceJFIF;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean ignoreAdobe;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int newAdobeTransform;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean writeDefaultJFIF;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean writeAdobe;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.sun.imageio.plugins.jpeg.JPEGMetadata metadata;
    descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
    flags: (0x0002) ACC_PRIVATE

  private boolean sequencePrepared;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int numScans;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object disposerReferent;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private sun.java2d.DisposerRecord disposerRecord;
    descriptor: Lsun/java2d/DisposerRecord;
    flags: (0x0002) ACC_PRIVATE

  protected static final int WARNING_DEST_IGNORED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final int WARNING_STREAM_METADATA_IGNORED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected static final int WARNING_DEST_METADATA_COMP_MISMATCH;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  protected static final int WARNING_DEST_METADATA_JFIF_MISMATCH;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  protected static final int WARNING_DEST_METADATA_ADOBE_MISMATCH;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  protected static final int WARNING_IMAGE_METADATA_JFIF_MISMATCH;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected static final int WARNING_IMAGE_METADATA_ADOBE_MISMATCH;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  protected static final int WARNING_METADATA_NOT_JPEG_FOR_RASTER;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  protected static final int WARNING_NO_BANDS_ON_INDEXED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  protected static final int WARNING_ILLEGAL_THUMBNAIL;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  protected static final int WARNING_IGNORING_THUMBS;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  protected static final int WARNING_FORCING_JFIF;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  protected static final int WARNING_THUMB_CLIPPED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  protected static final int WARNING_METADATA_ADJUSTED_FOR_THUMB;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  protected static final int WARNING_NO_RGB_THUMB_AS_INDEXED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  protected static final int WARNING_NO_GRAY_THUMB_AS_INDEXED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final int MAX_WARNING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  static final java.awt.Dimension[] preferredThumbSizes;
    descriptor: [Ljava/awt/Dimension;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private java.lang.Thread theThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  private int theLockCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock cbLock;
    descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 180
            new sun.security.action.LoadLibraryAction
            dup
            ldc "jpeg"
            invokespecial sun.security.action.LoadLibraryAction.<init>:(Ljava/lang/String;)V
         1: .line 179
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         2: .line 181
            ldc Ljavax/imageio/plugins/jpeg/JPEGQTable;
         3: .line 182
            ldc Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
         4: .line 181
            invokestatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs:(Ljava/lang/Class;Ljava/lang/Class;)V
         5: .line 309
            iconst_2
            anewarray java.awt.Dimension
            dup
            iconst_0
            new java.awt.Dimension
            dup
            iconst_1
            iconst_1
            invokespecial java.awt.Dimension.<init>:(II)V
            aastore
            dup
            iconst_1
         6: .line 310
            new java.awt.Dimension
            dup
            sipush 255
            sipush 255
            invokespecial java.awt.Dimension.<init>:(II)V
            aastore
         7: .line 309
            putstatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.preferredThumbSizes:[Ljava/awt/Dimension;
         8: .line 310
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.imageio.spi.ImageWriterSpi);
    descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.spi.ImageWriterSpi originator
         0: .line 188
            aload 0 /* this */
            aload 1 /* originator */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 74
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
         2: .line 82
            aload 0 /* this */
            lconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
         3: .line 86
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
         4: .line 89
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
         5: .line 92
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
         6: .line 98
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
         7: .line 99
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
         8: .line 101
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
         9: .line 102
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
        10: .line 104
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
        11: .line 105
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
        12: .line 110
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
        13: .line 115
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
        14: .line 117
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
        15: .line 118
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
        16: .line 119
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
        17: .line 120
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
        18: .line 121
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
        19: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
        20: .line 126
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
        21: .line 128
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
        22: .line 129
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        23: .line 130
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        24: .line 133
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
        25: .line 134
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
        26: .line 135
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
        27: .line 136
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
        28: .line 137
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
        29: .line 138
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
        30: .line 139
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
        31: .line 141
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
        32: .line 143
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
        33: .line 146
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerReferent:Ljava/lang/Object;
        34: .line 1844
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
        35: .line 1845
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
        36: .line 1879
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock
            dup
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.<init>:()V
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
        37: .line 189
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.initJPEGImageWriter:()J
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
        38: .line 190
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord.<init>:(J)V
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
        39: .line 191
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerReferent:Ljava/lang/Object;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
            invokestatic sun.java2d.Disposer.addRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
        40: .line 192
            return
        end local 1 // javax.imageio.spi.ImageWriterSpi originator
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   41     0        this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   41     1  originator  Ljavax/imageio/spi/ImageWriterSpi;
    MethodParameters:
            Name  Flags
      originator  

  public void setOutput(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.lang.Object output
         0: .line 195
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 197
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 199
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         3: .line 200
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.resetInternalState:()V
         4: .line 201
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
         5: .line 203
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setDest:(J)V
         6: .line 204
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 205
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         9: .line 206
            aload 2
            athrow
        10: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
        11: .line 207
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   12     1  output  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     7       7  any
    MethodParameters:
        Name  Flags
      output  

  public javax.imageio.ImageWriteParam getDefaultWriteParam();
    descriptor: ()Ljavax/imageio/ImageWriteParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 210
            new javax.imageio.plugins.jpeg.JPEGImageWriteParam
            dup
            aconst_null
            invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
            areturn
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;

  public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 214
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 216
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            aload 1 /* param */
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
            astore 3
         2: .line 218
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         3: .line 216
            aload 3
            areturn
         4: .line 217
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 218
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 219
            aload 2
            athrow
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    7     1  param  Ljavax/imageio/ImageWriteParam;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
       Name  Flags
      param  

  public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 225
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 227
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            aload 1 /* imageType */
            aload 2 /* param */
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
            astore 4
         2: .line 229
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         3: .line 227
            aload 4
            areturn
         4: .line 228
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 229
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 230
            aload 3
            athrow
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    7     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    7     2      param  Ljavax/imageio/ImageWriteParam;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
           Name  Flags
      imageType  
      param      

  public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 239
            aload 1 /* inData */
            instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
            ifeq 4
         1: .line 240
            aload 1 /* inData */
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            astore 3 /* jpegData */
        start local 3 // com.sun.imageio.plugins.jpeg.JPEGMetadata jpegData
         2: .line 241
            aload 3 /* jpegData */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.isStream:Z
            ifeq 4
         3: .line 242
            aload 1 /* inData */
            areturn
        end local 3 // com.sun.imageio.plugins.jpeg.JPEGMetadata jpegData
         4: .line 245
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    5     1    inData  Ljavax/imageio/metadata/IIOMetadata;
            0    5     2     param  Ljavax/imageio/ImageWriteParam;
            2    4     3  jpegData  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
    MethodParameters:
        Name  Flags
      inData  
      param   

  public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageTypeSpecifier imageType
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 252
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 254
            aload 0 /* this */
            aload 1 /* inData */
            aload 2 /* imageType */
            aload 3 /* param */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadataOnThread:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            astore 5
         2: .line 256
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         3: .line 254
            aload 5
            areturn
         4: .line 255
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 256
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 257
            aload 4
            athrow
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier imageType
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    7     1     inData  Ljavax/imageio/metadata/IIOMetadata;
            0    7     2  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    7     3      param  Ljavax/imageio/ImageWriteParam;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
           Name  Flags
      inData     
      imageType  
      param      

  private javax.imageio.metadata.IIOMetadata convertImageMetadataOnThread(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 280
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNode cannot be resolved to a type\n\tThe method getAsTree(String) from the type IIOMetadata refers to the missing type Node\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
    MethodParameters:
           Name  Flags
      inData     
      imageType  
      param      

  public int getNumThumbnailsSupported(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
        start local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
         0: .line 303
            aload 0 /* this */
            aload 1 /* imageType */
            aload 2 /* param */
            aload 3 /* streamMetadata */
            aload 4 /* imageMetadata */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.jfifOK:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
            ifeq 2
         1: .line 304
            ldc 2147483647
            ireturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    3     1       imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     2           param  Ljavax/imageio/ImageWriteParam;
            0    3     3  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0    3     4   imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
                Name  Flags
      imageType       
      param           
      streamMetadata  
      imageMetadata   

  public java.awt.Dimension[] getPreferredThumbnailSizes(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)[Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
        start local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
         0: .line 316
            aload 0 /* this */
            aload 1 /* imageType */
            aload 2 /* param */
            aload 3 /* streamMetadata */
            aload 4 /* imageMetadata */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.jfifOK:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
            ifeq 2
         1: .line 317
            getstatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.preferredThumbSizes:[Ljava/awt/Dimension;
            invokevirtual java.awt.Dimension[].clone:()Ljava/lang/Object;
            checkcast java.awt.Dimension[]
            areturn
         2: .line 319
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    3     1       imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     2           param  Ljavax/imageio/ImageWriteParam;
            0    3     3  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0    3     4   imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
                Name  Flags
      imageType       
      param           
      streamMetadata  
      imageMetadata   

  private boolean jfifOK(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
        start local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
         0: .line 327
            aload 1 /* imageType */
            ifnull 3
         1: .line 328
            aload 1 /* imageType */
            iconst_1
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
            ifne 3
         2: .line 329
            iconst_0
            ireturn
         3: .line 331
      StackMap locals:
      StackMap stack:
            aload 4 /* imageMetadata */
            ifnull 16
         4: .line 332
            aconst_null
            astore 5 /* metadata */
        start local 5 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
         5: .line 333
            aload 4 /* imageMetadata */
            instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
            ifeq 8
         6: .line 334
            aload 4 /* imageMetadata */
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            astore 5 /* metadata */
         7: .line 335
            goto 12
         8: .line 336
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGMetadata
      StackMap stack:
            aload 0 /* this */
            aload 4 /* imageMetadata */
         9: .line 337
            aload 1 /* imageType */
        10: .line 338
            aload 2 /* param */
        11: .line 336
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            astore 5 /* metadata */
        12: .line 341
      StackMap locals:
      StackMap stack:
            aload 5 /* metadata */
        13: .line 342
            ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            iconst_1
        14: .line 341
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            ifnonnull 16
        15: .line 343
            iconst_0
            ireturn
        end local 5 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        16: .line 346
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 3 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   17     1       imageType  Ljavax/imageio/ImageTypeSpecifier;
            0   17     2           param  Ljavax/imageio/ImageWriteParam;
            0   17     3  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0   17     4   imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
            5   16     5        metadata  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
    MethodParameters:
                Name  Flags
      imageType       
      param           
      streamMetadata  
      imageMetadata   

  public boolean canWriteRasters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 350
            iconst_1
            ireturn
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;

  public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 2 // javax.imageio.IIOImage image
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 356
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 358
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 360
            aload 0 /* this */
            aload 1 /* streamMetadata */
            aload 2 /* image */
            aload 3 /* param */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeOnThread:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
         3: .line 361
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 4
         5: .line 362
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 363
            aload 4
            athrow
         7: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 364
            return
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.IIOImage image
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    9     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0    9     2           image  Ljavax/imageio/IIOImage;
            0    9     3           param  Ljavax/imageio/ImageWriteParam;
      Exception table:
        from    to  target  type
           1     4       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           

  private void writeOnThread(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=28, locals=52, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 2 // javax.imageio.IIOImage image
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 370
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 371
            new java.lang.IllegalStateException
            dup
            ldc "Output has not been set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 374
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 375
            new java.lang.IllegalArgumentException
            dup
            ldc "image is null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 379
      StackMap locals:
      StackMap stack:
            aload 1 /* streamMetadata */
            ifnull 6
         5: .line 380
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
         6: .line 384
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            istore 4 /* rasterOnly */
        start local 4 // boolean rasterOnly
         7: .line 386
            aconst_null
            astore 5 /* rimage */
        start local 5 // java.awt.image.RenderedImage rimage
         8: .line 387
            iload 4 /* rasterOnly */
            ifeq 11
         9: .line 388
            aload 0 /* this */
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRaster:()Ljava/awt/image/Raster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
        10: .line 389
            goto 32
        11: .line 390
      StackMap locals: int java.awt.image.RenderedImage
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 5 /* rimage */
        12: .line 391
            aload 5 /* rimage */
            instanceof java.awt.image.BufferedImage
            ifeq 15
        13: .line 393
            aload 0 /* this */
            aload 5 /* rimage */
            checkcast java.awt.image.BufferedImage
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
        14: .line 394
            goto 32
      StackMap locals:
      StackMap stack:
        15: aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getNumXTiles:()I
            iconst_1
            if_icmpne 31
        16: .line 395
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getNumYTiles:()I
            iconst_1
            if_icmpne 31
        17: .line 398
            aload 0 /* this */
            aload 5 /* rimage */
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getMinTileX:()I
        18: .line 399
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getMinTileY:()I
        19: .line 398
            invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
        20: .line 403
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getWidth:()I
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            if_icmpne 22
        21: .line 404
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getHeight:()I
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
            if_icmpeq 32
        22: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinX:()I
        23: .line 407
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinY:()I
        24: .line 408
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
        25: .line 409
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        26: .line 410
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinX:()I
        27: .line 411
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinY:()I
        28: .line 412
            aconst_null
        29: .line 406
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
        30: .line 414
            goto 32
        31: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getData:()Ljava/awt/image/Raster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
        32: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getNumBands:()I
            istore 6 /* numSrcBands */
        start local 6 // int numSrcBands
        33: .line 424
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
        34: .line 425
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
        35: .line 426
            aconst_null
            astore 7 /* cm */
        start local 7 // java.awt.image.ColorModel cm
        36: .line 427
            aconst_null
            astore 8 /* cs */
        start local 8 // java.awt.color.ColorSpace cs
        37: .line 428
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
        38: .line 429
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
        39: .line 430
            iload 4 /* rasterOnly */
            ifne 50
        40: .line 431
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 7 /* cm */
        41: .line 432
            aload 7 /* cm */
            ifnull 50
        42: .line 433
            aload 7 /* cm */
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 8 /* cs */
        43: .line 434
            aload 7 /* cm */
            instanceof java.awt.image.IndexColorModel
            ifeq 47
        44: .line 435
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
        45: .line 436
            aload 0 /* this */
            aload 7 /* cm */
            checkcast java.awt.image.IndexColorModel
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
        46: .line 437
            aload 7 /* cm */
            invokevirtual java.awt.image.ColorModel.getNumComponents:()I
            istore 6 /* numSrcBands */
        47: .line 439
      StackMap locals: int java.awt.image.ColorModel java.awt.color.ColorSpace
      StackMap stack:
            aload 7 /* cm */
            invokevirtual java.awt.image.ColorModel.isAlphaPremultiplied:()Z
            ifeq 50
        48: .line 440
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
        49: .line 441
            aload 0 /* this */
            aload 7 /* cm */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
        50: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
            iload 6 /* numSrcBands */
            iconst_1
            isub
            aaload
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
        51: .line 447
            iload 6 /* numSrcBands */
            istore 9 /* numBandsUsed */
        start local 9 // int numBandsUsed
        52: .line 450
            aload 3 /* param */
            ifnull 64
        53: .line 451
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 10 /* sBands */
        start local 10 // int[] sBands
        54: .line 452
            aload 10 /* sBands */
            ifnull 64
        55: .line 453
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
            ifeq 58
        56: .line 454
            aload 0 /* this */
            bipush 8
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
        57: .line 455
            goto 64
        58: .line 456
      StackMap locals: int int[]
      StackMap stack:
            aload 0 /* this */
            aload 10 /* sBands */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
        59: .line 457
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
            arraylength
            istore 9 /* numBandsUsed */
        60: .line 458
            iload 9 /* numBandsUsed */
            iload 6 /* numSrcBands */
            if_icmple 64
        61: .line 459
            new javax.imageio.IIOException
            dup
        62: .line 460
            ldc "ImageWriteParam specifies too many source bands"
        63: .line 459
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // int[] sBands
        64: .line 466
      StackMap locals:
      StackMap stack:
            iload 9 /* numBandsUsed */
            iload 6 /* numSrcBands */
            if_icmpeq 65
            iconst_1
            goto 66
      StackMap locals:
      StackMap stack:
        65: iconst_0
      StackMap locals:
      StackMap stack: int
        66: istore 10 /* usingBandSubset */
        start local 10 // boolean usingBandSubset
        67: .line 467
            iload 4 /* rasterOnly */
            ifne 68
            iload 10 /* usingBandSubset */
            ifne 68
            iconst_1
            goto 69
      StackMap locals: int
      StackMap stack:
        68: iconst_0
      StackMap locals:
      StackMap stack: int
        69: istore 11 /* fullImage */
        start local 11 // boolean fullImage
        70: .line 469
            aconst_null
            astore 12 /* bandSizes */
        start local 12 // int[] bandSizes
        71: .line 470
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
            ifne 82
        72: .line 471
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 12 /* bandSizes */
        73: .line 473
            iload 10 /* usingBandSubset */
            ifeq 89
        74: .line 474
            iload 9 /* numBandsUsed */
            newarray 10
            astore 13 /* temp */
        start local 13 // int[] temp
        75: .line 475
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        76: goto 79
        77: .line 476
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] int[] int
      StackMap stack:
            aload 13 /* temp */
            iload 14 /* i */
            aload 12 /* bandSizes */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
            iload 14 /* i */
            iaload
            iaload
            iastore
        78: .line 475
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        79: iload 14 /* i */
            iload 9 /* numBandsUsed */
            if_icmplt 77
        end local 14 // int i
        80: .line 478
            aload 13 /* temp */
            astore 12 /* bandSizes */
        end local 13 // int[] temp
        81: .line 480
            goto 89
        82: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 13 /* tempSize */
        start local 13 // int[] tempSize
        83: .line 482
            iload 6 /* numSrcBands */
            newarray 10
            astore 12 /* bandSizes */
        84: .line 483
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        85: goto 88
        86: .line 484
      StackMap locals: int[] int
      StackMap stack:
            aload 12 /* bandSizes */
            iload 14 /* i */
            aload 13 /* tempSize */
            iconst_0
            iaload
            iastore
        87: .line 483
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        88: iload 14 /* i */
            iload 6 /* numSrcBands */
            if_icmplt 86
        end local 14 // int i
        end local 13 // int[] tempSize
        89: .line 488
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        90: goto 96
        91: .line 493
      StackMap locals: int
      StackMap stack:
            aload 12 /* bandSizes */
            iload 13 /* i */
            iaload
            ifle 92
            aload 12 /* bandSizes */
            iload 13 /* i */
            iaload
            bipush 8
            if_icmple 93
        92: .line 494
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "Illegal band size: should be 0 < size <= 8"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
            ifeq 95
        94: .line 502
            aload 12 /* bandSizes */
            iload 13 /* i */
            bipush 8
            iastore
        95: .line 488
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        96: iload 13 /* i */
            aload 12 /* bandSizes */
            arraylength
            if_icmplt 91
        end local 13 // int i
        97: .line 506
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
            ifeq 109
        98: .line 507
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "numSrcBands is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* numSrcBands */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        99: .line 508
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "numBandsUsed is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* numBandsUsed */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       100: .line 509
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "usingBandSubset is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* usingBandSubset */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       101: .line 510
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "fullImage is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* fullImage */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 511
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Band sizes:"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       103: .line 512
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       104: goto 107
       105: .line 513
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* bandSizes */
            iload 13 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       106: .line 512
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       107: iload 13 /* i */
            aload 12 /* bandSizes */
            arraylength
            if_icmplt 105
        end local 13 // int i
       108: .line 515
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
       109: .line 519
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 13 /* destType */
        start local 13 // javax.imageio.ImageTypeSpecifier destType
       110: .line 520
            aload 3 /* param */
            ifnull 115
       111: .line 521
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getDestinationType:()Ljavax/imageio/ImageTypeSpecifier;
            astore 13 /* destType */
       112: .line 523
            iload 11 /* fullImage */
            ifeq 115
            aload 13 /* destType */
            ifnull 115
       113: .line 524
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       114: .line 525
            aconst_null
            astore 13 /* destType */
       115: .line 531
      StackMap locals: javax.imageio.ImageTypeSpecifier
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinX:()I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
       116: .line 532
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getMinY:()I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
       117: .line 533
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getWidth:()I
            istore 14 /* imageWidth */
        start local 14 // int imageWidth
       118: .line 534
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getHeight:()I
            istore 15 /* imageHeight */
        start local 15 // int imageHeight
       119: .line 535
            aload 0 /* this */
            iload 14 /* imageWidth */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       120: .line 536
            aload 0 /* this */
            iload 15 /* imageHeight */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
       121: .line 537
            iconst_1
            istore 16 /* periodX */
        start local 16 // int periodX
       122: .line 538
            iconst_1
            istore 17 /* periodY */
        start local 17 // int periodY
       123: .line 539
            iconst_0
            istore 18 /* gridX */
        start local 18 // int gridX
       124: .line 540
            iconst_0
            istore 19 /* gridY */
        start local 19 // int gridY
       125: .line 541
            aconst_null
            astore 20 /* qTables */
        start local 20 // javax.imageio.plugins.jpeg.JPEGQTable[] qTables
       126: .line 542
            aconst_null
            astore 21 /* DCHuffmanTables */
        start local 21 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] DCHuffmanTables
       127: .line 543
            aconst_null
            astore 22 /* ACHuffmanTables */
        start local 22 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] ACHuffmanTables
       128: .line 544
            iconst_0
            istore 23 /* optimizeHuffman */
        start local 23 // boolean optimizeHuffman
       129: .line 545
            aconst_null
            astore 24 /* jparam */
        start local 24 // javax.imageio.plugins.jpeg.JPEGImageWriteParam jparam
       130: .line 546
            iconst_0
            istore 25 /* progressiveMode */
        start local 25 // int progressiveMode
       131: .line 548
            aload 3 /* param */
            ifnull 171
       132: .line 550
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 26 /* sourceRegion */
        start local 26 // java.awt.Rectangle sourceRegion
       133: .line 551
            aload 26 /* sourceRegion */
            ifnull 144
       134: .line 552
            new java.awt.Rectangle
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
       135: .line 553
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
       136: .line 554
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       137: .line 555
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
       138: .line 552
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 27 /* imageBounds */
        start local 27 // java.awt.Rectangle imageBounds
       139: .line 556
            aload 26 /* sourceRegion */
            aload 27 /* imageBounds */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 26 /* sourceRegion */
       140: .line 557
            aload 0 /* this */
            aload 26 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
       141: .line 558
            aload 0 /* this */
            aload 26 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
       142: .line 559
            aload 0 /* this */
            aload 26 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       143: .line 560
            aload 0 /* this */
            aload 26 /* sourceRegion */
            getfield java.awt.Rectangle.height:I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
        end local 27 // java.awt.Rectangle imageBounds
       144: .line 563
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int java.awt.Rectangle
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
            iadd
            iload 14 /* imageWidth */
            if_icmple 146
       145: .line 564
            aload 0 /* this */
            iload 14 /* imageWidth */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
            isub
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       146: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
            iadd
            iload 15 /* imageHeight */
            if_icmple 148
       147: .line 567
            aload 0 /* this */
            iload 15 /* imageHeight */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
            isub
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
       148: .line 570
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            istore 16 /* periodX */
       149: .line 571
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            istore 17 /* periodY */
       150: .line 572
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 18 /* gridX */
       151: .line 573
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 19 /* gridY */
       152: .line 575
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            tableswitch { // 0 - 2
                    0: 153
                    1: 164
                    2: 154
              default: 167
          }
       153: .line 577
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "JPEG compression cannot be disabled"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
       154: .line 579
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
            fstore 27 /* quality */
        start local 27 // float quality
       155: .line 580
            fload 27 /* quality */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.convertToLinearQuality:(F)F
            fstore 27 /* quality */
       156: .line 581
            iconst_2
            anewarray javax.imageio.plugins.jpeg.JPEGQTable
            astore 20 /* qTables */
       157: .line 582
            aload 20 /* qTables */
            iconst_0
            getstatic javax.imageio.plugins.jpeg.JPEGQTable.K1Luminance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
       158: .line 583
            fload 27 /* quality */
            iconst_1
       159: .line 582
            invokevirtual javax.imageio.plugins.jpeg.JPEGQTable.getScaledInstance:(FZ)Ljavax/imageio/plugins/jpeg/JPEGQTable;
            aastore
       160: .line 584
            aload 20 /* qTables */
            iconst_1
            getstatic javax.imageio.plugins.jpeg.JPEGQTable.K2Chrominance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
       161: .line 585
            fload 27 /* quality */
            iconst_1
       162: .line 584
            invokevirtual javax.imageio.plugins.jpeg.JPEGQTable.getScaledInstance:(FZ)Ljavax/imageio/plugins/jpeg/JPEGQTable;
            aastore
       163: .line 586
            goto 167
        end local 27 // float quality
       164: .line 588
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray javax.imageio.plugins.jpeg.JPEGQTable
            astore 20 /* qTables */
       165: .line 589
            aload 20 /* qTables */
            iconst_0
            getstatic javax.imageio.plugins.jpeg.JPEGQTable.K1Div2Luminance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
            aastore
       166: .line 590
            aload 20 /* qTables */
            iconst_1
            getstatic javax.imageio.plugins.jpeg.JPEGQTable.K2Div2Chrominance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
            aastore
       167: .line 595
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            istore 25 /* progressiveMode */
       168: .line 597
            aload 3 /* param */
            instanceof javax.imageio.plugins.jpeg.JPEGImageWriteParam
            ifeq 171
       169: .line 598
            aload 3 /* param */
            checkcast javax.imageio.plugins.jpeg.JPEGImageWriteParam
            astore 24 /* jparam */
       170: .line 599
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getOptimizeHuffmanTables:()Z
            istore 23 /* optimizeHuffman */
        end local 26 // java.awt.Rectangle sourceRegion
       171: .line 604
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            astore 26 /* mdata */
        start local 26 // javax.imageio.metadata.IIOMetadata mdata
       172: .line 605
            aload 26 /* mdata */
            ifnull 190
       173: .line 606
            aload 26 /* mdata */
            instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
            ifeq 180
       174: .line 607
            aload 0 /* this */
            aload 26 /* mdata */
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       175: .line 608
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
            ifeq 190
       176: .line 609
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       177: .line 610
            ldc "We have metadata, and it's JPEG metadata"
       178: .line 609
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       179: .line 612
            goto 190
       180: .line 613
      StackMap locals: javax.imageio.metadata.IIOMetadata
      StackMap stack:
            iload 4 /* rasterOnly */
            ifne 189
       181: .line 614
            aload 13 /* destType */
            astore 27 /* type */
        start local 27 // javax.imageio.ImageTypeSpecifier type
       182: .line 615
            aload 27 /* type */
            ifnonnull 184
       183: .line 616
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 5 /* rimage */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
            astore 27 /* type */
       184: .line 618
      StackMap locals: javax.imageio.ImageTypeSpecifier
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 26 /* mdata */
       185: .line 619
            aload 27 /* type */
       186: .line 620
            aload 3 /* param */
       187: .line 618
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
        end local 27 // javax.imageio.ImageTypeSpecifier type
       188: .line 621
            goto 190
       189: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 7
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       190: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
       191: .line 630
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
       192: .line 631
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       193: .line 632
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
       194: .line 633
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
       195: .line 636
            iconst_0
            istore 27 /* inCsType */
        start local 27 // int inCsType
       196: .line 637
            iconst_0
            istore 28 /* outCsType */
        start local 28 // int outCsType
       197: .line 639
            aconst_null
            astore 29 /* jfif */
        start local 29 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment jfif
       198: .line 640
            aconst_null
            astore 30 /* adobe */
        start local 30 // com.sun.imageio.plugins.jpeg.AdobeMarkerSegment adobe
       199: .line 641
            aconst_null
            astore 31 /* sof */
        start local 31 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
       200: .line 643
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 210
       201: .line 644
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       202: .line 645
            ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            iconst_1
       203: .line 644
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
            astore 29 /* jfif */
       204: .line 646
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       205: .line 647
            ldc Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
            iconst_1
       206: .line 646
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.AdobeMarkerSegment
            astore 30 /* adobe */
       207: .line 648
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       208: .line 649
            ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            iconst_1
       209: .line 648
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.SOFMarkerSegment
            astore 31 /* sof */
       210: .line 652
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
       211: .line 653
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
       212: .line 654
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
       213: .line 656
            aload 13 /* destType */
            ifnull 240
       214: .line 657
            iload 9 /* numBandsUsed */
            aload 13 /* destType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getNumBands:()I
            if_icmpeq 218
       215: .line 658
            new javax.imageio.IIOException
            dup
       216: .line 659
            ldc "Number of source bands != number of destination bands"
       217: .line 658
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
       218: .line 661
      StackMap locals:
      StackMap stack:
            aload 13 /* destType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 8 /* cs */
       219: .line 663
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 227
       220: .line 664
            aload 0 /* this */
            aload 31 /* sof */
            iload 9 /* numBandsUsed */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkSOFBands:(Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
       221: .line 666
            aload 0 /* this */
            aload 29 /* jfif */
            aload 13 /* destType */
            iconst_0
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkJFIF:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
       222: .line 668
            aload 29 /* jfif */
            ifnull 225
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
            ifne 225
       223: .line 669
            aload 8 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
            ifeq 225
       224: .line 670
            aload 0 /* this */
            aload 8 /* cs */
            checkcast java.awt.color.ICC_ColorSpace
            invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
       225: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 30 /* adobe */
            aload 13 /* destType */
            iconst_0
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkAdobe:(Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
       226: .line 675
            goto 237
       227: .line 677
      StackMap locals:
      StackMap stack:
            aload 13 /* destType */
            iconst_0
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
            ifeq 232
       228: .line 678
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
       229: .line 680
            aload 8 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
            ifeq 236
       230: .line 681
            aload 0 /* this */
            aload 8 /* cs */
            checkcast java.awt.color.ICC_ColorSpace
            invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
       231: .line 683
            goto 236
       232: .line 684
      StackMap locals:
      StackMap stack:
            aload 13 /* destType */
            iconst_0
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.transformForType:(Ljavax/imageio/ImageTypeSpecifier;Z)I
            istore 32 /* transform */
        start local 32 // int transform
       233: .line 685
            iload 32 /* transform */
            iconst_m1
            if_icmpeq 236
       234: .line 686
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
       235: .line 687
            aload 0 /* this */
            iload 32 /* transform */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
        end local 32 // int transform
       236: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            aload 13 /* destType */
            aconst_null
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       237: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* destType */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljavax/imageio/ImageTypeSpecifier;)I
            istore 27 /* inCsType */
       238: .line 694
            aload 0 /* this */
            aload 13 /* destType */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljavax/imageio/ImageTypeSpecifier;)I
            istore 28 /* outCsType */
       239: .line 695
            goto 372
       240: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnonnull 254
       241: .line 697
            iload 11 /* fullImage */
            ifeq 372
       242: .line 699
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 5 /* rimage */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
       243: .line 700
            aload 3 /* param */
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
       244: .line 699
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       245: .line 701
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       246: .line 702
            ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            iconst_1
       247: .line 701
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            ifnull 251
       248: .line 703
            aload 5 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 8 /* cs */
       249: .line 704
            aload 8 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
            ifeq 251
       250: .line 705
            aload 0 /* this */
            aload 8 /* cs */
            checkcast java.awt.color.ICC_ColorSpace
            invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
       251: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* rimage */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/RenderedImage;)I
            istore 27 /* inCsType */
       252: .line 710
            aload 0 /* this */
            aload 5 /* rimage */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/RenderedImage;)I
            istore 28 /* outCsType */
       253: .line 714
            goto 372
       254: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 31 /* sof */
            iload 9 /* numBandsUsed */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkSOFBands:(Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
       255: .line 716
            iload 11 /* fullImage */
            ifeq 372
       256: .line 720
            new javax.imageio.ImageTypeSpecifier
            aload 5 /* rimage */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
       257: .line 722
            aload 0 /* this */
            aload 5 /* rimage */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/RenderedImage;)I
            istore 27 /* inCsType */
       258: .line 724
            aload 7 /* cm */
            ifnull 372
       259: .line 725
            aload 7 /* cm */
            invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
            istore 32 /* alpha */
        start local 32 // boolean alpha
       260: .line 726
            aload 8 /* cs */
            invokevirtual java.awt.color.ColorSpace.getType:()I
            lookupswitch { // 3
                    5: 276
                    6: 261
                   13: 333
              default: 372
          }
       261: .line 728
      StackMap locals: int
      StackMap stack:
            iload 32 /* alpha */
            ifne 264
       262: .line 729
            iconst_1
            istore 28 /* outCsType */
       263: .line 730
            goto 269
       264: .line 731
      StackMap locals:
      StackMap stack:
            aload 29 /* jfif */
            ifnull 269
       265: .line 732
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
       266: .line 733
            aload 0 /* this */
       267: .line 734
            iconst_5
       268: .line 733
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       269: .line 738
      StackMap locals:
      StackMap stack:
            aload 30 /* adobe */
            ifnull 372
       270: .line 739
            aload 30 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
            ifeq 372
       271: .line 740
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       272: .line 741
            aload 0 /* this */
       273: .line 742
            bipush 6
       274: .line 741
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       275: .line 744
            goto 372
       276: .line 746
      StackMap locals:
      StackMap stack:
            iload 32 /* alpha */
            ifne 309
       277: .line 747
            aload 29 /* jfif */
            ifnull 286
       278: .line 748
            iconst_3
            istore 28 /* outCsType */
       279: .line 749
            aload 8 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
            ifne 282
       280: .line 750
            aload 8 /* cs */
            instanceof java.awt.color.ICC_ColorSpace
            ifeq 372
       281: .line 751
            aload 29 /* jfif */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.iccSegment:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$ICCMarkerSegment;
            ifnull 372
       282: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       283: .line 753
            aload 8 /* cs */
            checkcast java.awt.color.ICC_ColorSpace
            invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
       284: .line 752
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
       285: .line 755
            goto 372
      StackMap locals:
      StackMap stack:
       286: aload 30 /* adobe */
            ifnull 298
       287: .line 756
            aload 30 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
            tableswitch { // 0 - 1
                    0: 288
                    1: 290
              default: 292
          }
       288: .line 758
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 28 /* outCsType */
       289: .line 759
            goto 372
       290: .line 761
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 28 /* outCsType */
       291: .line 762
            goto 372
       292: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       293: .line 765
            bipush 6
       294: .line 764
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       295: .line 766
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       296: .line 767
            iconst_2
            istore 28 /* outCsType */
       297: .line 770
            goto 372
       298: .line 772
      StackMap locals:
      StackMap stack:
            aload 31 /* sof */
            invokevirtual com.sun.imageio.plugins.jpeg.SOFMarkerSegment.getIDencodedCSType:()I
            istore 33 /* outCS */
        start local 33 // int outCS
       299: .line 775
            iload 33 /* outCS */
            ifeq 302
       300: .line 776
            iload 33 /* outCS */
            istore 28 /* outCsType */
       301: .line 777
            goto 372
       302: .line 779
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.isSubsampled:([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
       303: .line 778
            istore 34 /* subsampled */
        start local 34 // boolean subsampled
       304: .line 780
            iload 34 /* subsampled */
            ifeq 307
       305: .line 781
            iconst_3
            istore 28 /* outCsType */
       306: .line 782
            goto 372
       307: .line 783
      StackMap locals: int
      StackMap stack:
            iconst_2
            istore 28 /* outCsType */
        end local 34 // boolean subsampled
        end local 33 // int outCS
       308: .line 787
            goto 372
       309: .line 788
      StackMap locals:
      StackMap stack:
            aload 29 /* jfif */
            ifnull 314
       310: .line 789
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
       311: .line 790
            aload 0 /* this */
       312: .line 791
            iconst_5
       313: .line 790
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       314: .line 793
      StackMap locals:
      StackMap stack:
            aload 30 /* adobe */
            ifnull 322
       315: .line 794
            aload 30 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
            ifeq 320
       316: .line 796
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       317: .line 797
            aload 0 /* this */
       318: .line 798
            bipush 6
       319: .line 797
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       320: .line 800
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 28 /* outCsType */
       321: .line 801
            goto 372
       322: .line 803
      StackMap locals:
      StackMap stack:
            aload 31 /* sof */
            invokevirtual com.sun.imageio.plugins.jpeg.SOFMarkerSegment.getIDencodedCSType:()I
            istore 33 /* outCS */
        start local 33 // int outCS
       323: .line 806
            iload 33 /* outCS */
            ifeq 326
       324: .line 807
            iload 33 /* outCS */
            istore 28 /* outCsType */
       325: .line 808
            goto 372
       326: .line 810
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.isSubsampled:([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
       327: .line 809
            istore 34 /* subsampled */
        start local 34 // boolean subsampled
       328: .line 811
            iload 34 /* subsampled */
            ifeq 330
       329: .line 812
            bipush 7
            goto 331
      StackMap locals: int
      StackMap stack:
       330: bipush 6
       331: .line 811
      StackMap locals:
      StackMap stack: int
            istore 28 /* outCsType */
        end local 34 // boolean subsampled
        end local 33 // int outCS
       332: .line 816
            goto 372
       333: .line 818
      StackMap locals:
      StackMap stack:
            aload 8 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
            if_acmpne 372
       334: .line 819
            iload 32 /* alpha */
            ifne 357
       335: .line 820
            aload 29 /* jfif */
            ifnull 345
       336: .line 821
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
       337: .line 822
            aload 0 /* this */
       338: .line 823
            new java.awt.image.ColorConvertOp
            dup
            aload 8 /* cs */
       339: .line 824
            getstatic com.sun.imageio.plugins.jpeg.JPEG$JCS.sRGB:Ljava/awt/color/ColorSpace;
       340: .line 825
            aconst_null
       341: .line 823
            invokespecial java.awt.image.ColorConvertOp.<init>:(Ljava/awt/color/ColorSpace;Ljava/awt/color/ColorSpace;Ljava/awt/RenderingHints;)V
       342: .line 822
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
       343: .line 826
            iconst_3
            istore 28 /* outCsType */
       344: .line 827
            goto 372
      StackMap locals:
      StackMap stack:
       345: aload 30 /* adobe */
            ifnull 355
       346: .line 828
            aload 30 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
       347: .line 829
            iconst_1
       348: .line 828
            if_icmpeq 353
       349: .line 830
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       350: .line 831
            aload 0 /* this */
       351: .line 832
            bipush 6
       352: .line 831
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       353: .line 834
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 28 /* outCsType */
       354: .line 835
            goto 372
       355: .line 836
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 28 /* outCsType */
       356: .line 838
            goto 372
       357: .line 839
      StackMap locals:
      StackMap stack:
            aload 29 /* jfif */
            ifnull 363
       358: .line 840
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
       359: .line 841
            aload 0 /* this */
       360: .line 842
            iconst_5
       361: .line 841
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       362: .line 843
            goto 371
      StackMap locals:
      StackMap stack:
       363: aload 30 /* adobe */
            ifnull 371
       364: .line 844
            aload 30 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
            ifeq 371
       365: .line 846
            aload 0 /* this */
       366: .line 847
            iconst_0
       367: .line 846
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
       368: .line 848
            aload 0 /* this */
       369: .line 849
            bipush 6
       370: .line 848
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       371: .line 852
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 28 /* outCsType */
        end local 32 // boolean alpha
       372: .line 861
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 32 /* metadataProgressive */
        start local 32 // boolean metadataProgressive
       373: .line 862
            aconst_null
            astore 33 /* scans */
        start local 33 // int[] scans
       374: .line 864
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 389
       375: .line 865
            aload 31 /* sof */
            ifnonnull 379
       376: .line 866
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       377: .line 867
            ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            iconst_1
       378: .line 866
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.SOFMarkerSegment
            astore 31 /* sof */
       379: .line 869
      StackMap locals: int int[]
      StackMap stack:
            aload 31 /* sof */
            ifnull 385
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.tag:I
            sipush 194
            if_icmpne 385
       380: .line 870
            iconst_1
            istore 32 /* metadataProgressive */
       381: .line 871
            iload 25 /* progressiveMode */
            iconst_3
            if_icmpne 384
       382: .line 872
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            aload 31 /* sof */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectScans:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;)[I
            astore 33 /* scans */
       383: .line 873
            goto 385
       384: .line 874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
       385: .line 877
      StackMap locals:
      StackMap stack:
            aload 29 /* jfif */
            ifnonnull 389
       386: .line 878
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       387: .line 879
            ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            iconst_1
       388: .line 878
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
            astore 29 /* jfif */
       389: .line 883
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getThumbnails:()Ljava/util/List;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
       390: .line 884
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getNumThumbnails:()I
            istore 34 /* numThumbs */
        start local 34 // int numThumbs
       391: .line 885
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
       392: .line 889
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
            ifne 414
       393: .line 891
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnonnull 398
       394: .line 892
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
       395: .line 893
            iload 34 /* numThumbs */
            ifeq 414
       396: .line 894
            aload 0 /* this */
            bipush 10
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       397: .line 896
            goto 414
       398: .line 900
      StackMap locals: int
      StackMap stack:
            iload 11 /* fullImage */
            ifne 404
       399: .line 901
            aload 29 /* jfif */
            ifnonnull 414
       400: .line 902
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
       401: .line 903
            iload 34 /* numThumbs */
            ifeq 414
       402: .line 904
            aload 0 /* this */
            bipush 10
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       403: .line 907
            goto 414
       404: .line 908
      StackMap locals:
      StackMap stack:
            aload 29 /* jfif */
            ifnonnull 414
       405: .line 910
            iload 28 /* outCsType */
            iconst_1
            if_icmpeq 407
       406: .line 911
            iload 28 /* outCsType */
            iconst_3
            if_icmpne 411
       407: .line 912
      StackMap locals:
      StackMap stack:
            iload 34 /* numThumbs */
            ifeq 414
       408: .line 913
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
       409: .line 914
            aload 0 /* this */
            bipush 11
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       410: .line 916
            goto 414
       411: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
       412: .line 918
            iload 34 /* numThumbs */
            ifeq 414
       413: .line 919
            aload 0 /* this */
            bipush 10
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
       414: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnonnull 416
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
            ifne 416
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
            ifne 416
       415: .line 929
            iconst_0
            goto 417
      StackMap locals:
      StackMap stack:
       416: iconst_1
      StackMap locals:
      StackMap stack: int
       417: istore 35 /* haveMetadata */
        start local 35 // boolean haveMetadata
       418: .line 935
            iconst_1
            istore 36 /* writeDQT */
        start local 36 // boolean writeDQT
       419: .line 936
            iconst_1
            istore 37 /* writeDHT */
        start local 37 // boolean writeDHT
       420: .line 939
            aconst_null
            astore 38 /* dqt */
        start local 38 // com.sun.imageio.plugins.jpeg.DQTMarkerSegment dqt
       421: .line 940
            aconst_null
            astore 39 /* dht */
        start local 39 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment dht
       422: .line 942
            iconst_0
            istore 40 /* restartInterval */
        start local 40 // int restartInterval
       423: .line 944
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 440
       424: .line 945
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       425: .line 946
            ldc Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
            iconst_1
       426: .line 945
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment
            astore 38 /* dqt */
       427: .line 947
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       428: .line 948
            ldc Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
            iconst_1
       429: .line 947
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment
            astore 39 /* dht */
       430: .line 950
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
       431: .line 951
            ldc Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
            iconst_1
       432: .line 950
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            checkcast com.sun.imageio.plugins.jpeg.DRIMarkerSegment
       433: .line 949
            astore 41 /* dri */
        start local 41 // com.sun.imageio.plugins.jpeg.DRIMarkerSegment dri
       434: .line 952
            aload 41 /* dri */
            ifnull 436
       435: .line 953
            aload 41 /* dri */
            getfield com.sun.imageio.plugins.jpeg.DRIMarkerSegment.restartInterval:I
            istore 40 /* restartInterval */
       436: .line 956
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DRIMarkerSegment
      StackMap stack:
            aload 38 /* dqt */
            ifnonnull 438
       437: .line 957
            iconst_0
            istore 36 /* writeDQT */
       438: .line 959
      StackMap locals:
      StackMap stack:
            aload 39 /* dht */
            ifnonnull 440
       439: .line 960
            iconst_0
            istore 37 /* writeDHT */
        end local 41 // com.sun.imageio.plugins.jpeg.DRIMarkerSegment dri
       440: .line 966
      StackMap locals:
      StackMap stack:
            aload 20 /* qTables */
            ifnonnull 451
       441: .line 967
            aload 38 /* dqt */
            ifnull 444
       442: .line 968
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectQTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            astore 20 /* qTables */
       443: .line 969
            goto 451
      StackMap locals:
      StackMap stack:
       444: aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            ifnull 447
       445: .line 970
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            astore 20 /* qTables */
       446: .line 971
            goto 451
      StackMap locals:
      StackMap stack:
       447: aload 24 /* jparam */
            ifnull 450
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
            ifeq 450
       448: .line 972
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            astore 20 /* qTables */
       449: .line 973
            goto 451
       450: .line 974
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            astore 20 /* qTables */
       451: .line 980
      StackMap locals:
      StackMap stack:
            iload 23 /* optimizeHuffman */
            ifne 466
       452: .line 982
            aload 39 /* dht */
            ifnull 456
            iload 32 /* metadataProgressive */
            ifne 456
       453: .line 983
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            iconst_1
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 21 /* DCHuffmanTables */
       454: .line 984
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            iconst_0
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 22 /* ACHuffmanTables */
       455: .line 985
            goto 466
      StackMap locals:
      StackMap stack:
       456: aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            ifnull 460
       457: .line 986
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 21 /* DCHuffmanTables */
       458: .line 987
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 22 /* ACHuffmanTables */
       459: .line 988
            goto 466
      StackMap locals:
      StackMap stack:
       460: aload 24 /* jparam */
            ifnull 464
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
            ifeq 464
       461: .line 989
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getDCHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 21 /* DCHuffmanTables */
       462: .line 990
            aload 24 /* jparam */
            invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getACHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 22 /* ACHuffmanTables */
       463: .line 991
            goto 466
       464: .line 992
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 21 /* DCHuffmanTables */
       465: .line 993
            iconst_0
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            astore 22 /* ACHuffmanTables */
       466: .line 998
      StackMap locals:
      StackMap stack:
            iload 9 /* numBandsUsed */
            newarray 10
            astore 41 /* componentIds */
        start local 41 // int[] componentIds
       467: .line 999
            iload 9 /* numBandsUsed */
            newarray 10
            astore 42 /* HsamplingFactors */
        start local 42 // int[] HsamplingFactors
       468: .line 1000
            iload 9 /* numBandsUsed */
            newarray 10
            astore 43 /* VsamplingFactors */
        start local 43 // int[] VsamplingFactors
       469: .line 1001
            iload 9 /* numBandsUsed */
            newarray 10
            astore 44 /* QtableSelectors */
        start local 44 // int[] QtableSelectors
       470: .line 1002
            iconst_0
            istore 45 /* i */
        start local 45 // int i
       471: goto 477
       472: .line 1003
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int
      StackMap stack:
            aload 41 /* componentIds */
            iload 45 /* i */
            iload 45 /* i */
            iconst_1
            iadd
            iastore
       473: .line 1004
            aload 42 /* HsamplingFactors */
            iload 45 /* i */
            iconst_1
            iastore
       474: .line 1005
            aload 43 /* VsamplingFactors */
            iload 45 /* i */
            iconst_1
            iastore
       475: .line 1006
            aload 44 /* QtableSelectors */
            iload 45 /* i */
            iconst_0
            iastore
       476: .line 1002
            iinc 45 /* i */ 1
      StackMap locals:
      StackMap stack:
       477: iload 45 /* i */
            iload 9 /* numBandsUsed */
            if_icmplt 472
        end local 45 // int i
       478: .line 1010
            aload 31 /* sof */
            ifnull 488
       479: .line 1011
            iconst_0
            istore 45 /* i */
        start local 45 // int i
       480: goto 487
       481: .line 1012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
            ifne 483
       482: .line 1013
            aload 41 /* componentIds */
            iload 45 /* i */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            iload 45 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.componentId:I
            iastore
       483: .line 1015
      StackMap locals:
      StackMap stack:
            aload 42 /* HsamplingFactors */
            iload 45 /* i */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            iload 45 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
            iastore
       484: .line 1016
            aload 43 /* VsamplingFactors */
            iload 45 /* i */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            iload 45 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.VsamplingFactor:I
            iastore
       485: .line 1017
            aload 44 /* QtableSelectors */
            iload 45 /* i */
            aload 31 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            iload 45 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.QtableSelector:I
            iastore
       486: .line 1011
            iinc 45 /* i */ 1
      StackMap locals:
      StackMap stack:
       487: iload 45 /* i */
            iload 9 /* numBandsUsed */
            if_icmplt 481
        end local 45 // int i
       488: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
            iload 18 /* gridX */
            iadd
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
       489: .line 1022
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iload 18 /* gridX */
            isub
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       490: .line 1023
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
            iload 19 /* gridY */
            iadd
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
       491: .line 1024
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
            iload 19 /* gridY */
            isub
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
       492: .line 1026
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iload 16 /* periodX */
            iadd
            iconst_1
            isub
            iload 16 /* periodX */
            idiv
            istore 45 /* destWidth */
        start local 45 // int destWidth
       493: .line 1027
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
            iload 17 /* periodY */
            iadd
            iconst_1
            isub
            iload 17 /* periodY */
            idiv
            istore 46 /* destHeight */
        start local 46 // int destHeight
       494: .line 1030
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iload 9 /* numBandsUsed */
            imul
            istore 47 /* lineSize */
        start local 47 // int lineSize
       495: .line 1032
            new java.awt.image.DataBufferByte
            dup
            iload 47 /* lineSize */
            invokespecial java.awt.image.DataBufferByte.<init>:(I)V
            astore 48 /* buffer */
        start local 48 // java.awt.image.DataBufferByte buffer
       496: .line 1035
            getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
            iload 9 /* numBandsUsed */
            iconst_1
            isub
            aaload
            astore 49 /* bandOffs */
        start local 49 // int[] bandOffs
       497: .line 1037
            aload 0 /* this */
            aload 48 /* buffer */
       498: .line 1038
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iconst_1
       499: .line 1039
            iload 47 /* lineSize */
       500: .line 1040
            iload 9 /* numBandsUsed */
       501: .line 1041
            aload 49 /* bandOffs */
       502: .line 1042
            aconst_null
       503: .line 1037
            invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
       504: .line 1046
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageStarted:(I)V
       505: .line 1048
            iconst_0
            istore 50 /* aborted */
        start local 50 // boolean aborted
       506: .line 1050
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
            ifeq 509
       507: .line 1051
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "inCsType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 27 /* inCsType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       508: .line 1052
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "outCsType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 28 /* outCsType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       509: .line 1058
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[] int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
       510: .line 1059
            aload 48 /* buffer */
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
       511: .line 1060
            iload 27 /* inCsType */
            iload 28 /* outCsType */
       512: .line 1061
            iload 9 /* numBandsUsed */
       513: .line 1062
            aload 12 /* bandSizes */
       514: .line 1063
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
       515: .line 1064
            iload 45 /* destWidth */
            iload 46 /* destHeight */
       516: .line 1065
            iload 16 /* periodX */
            iload 17 /* periodY */
       517: .line 1066
            aload 20 /* qTables */
       518: .line 1067
            iload 36 /* writeDQT */
       519: .line 1068
            aload 21 /* DCHuffmanTables */
       520: .line 1069
            aload 22 /* ACHuffmanTables */
       521: .line 1070
            iload 37 /* writeDHT */
       522: .line 1071
            iload 23 /* optimizeHuffman */
       523: .line 1072
            iload 25 /* progressiveMode */
            ifeq 524
            iconst_1
            goto 525
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[] int
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter long byte[] int int int int[] int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] int javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int int
       524: iconst_0
       525: .line 1074
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[] int
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter long byte[] int int int int[] int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] int javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int int int
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
       526: .line 1075
            aload 33 /* scans */
       527: .line 1076
            aload 41 /* componentIds */
       528: .line 1077
            aload 42 /* HsamplingFactors */
       529: .line 1078
            aload 43 /* VsamplingFactors */
       530: .line 1079
            aload 44 /* QtableSelectors */
       531: .line 1080
            iload 35 /* haveMetadata */
       532: .line 1081
            iload 40 /* restartInterval */
       533: .line 1058
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeImage:(J[BIII[IIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;Z[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;ZZZI[I[I[I[I[IZI)Z
            istore 50 /* aborted */
       534: .line 1083
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
       535: .line 1085
            iload 50 /* aborted */
            ifeq 538
       536: .line 1086
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWriteAborted:()V
       537: .line 1087
            goto 539
       538: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageComplete:()V
       539: .line 1091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.flush:()V
       540: .line 1092
            goto 544
      StackMap locals:
      StackMap stack: java.lang.Throwable
       541: astore 51
       542: .line 1093
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
       543: .line 1094
            aload 51
            athrow
       544: .line 1093
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
       545: .line 1095
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
       546: .line 1096
            return
        end local 50 // boolean aborted
        end local 49 // int[] bandOffs
        end local 48 // java.awt.image.DataBufferByte buffer
        end local 47 // int lineSize
        end local 46 // int destHeight
        end local 45 // int destWidth
        end local 44 // int[] QtableSelectors
        end local 43 // int[] VsamplingFactors
        end local 42 // int[] HsamplingFactors
        end local 41 // int[] componentIds
        end local 40 // int restartInterval
        end local 39 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment dht
        end local 38 // com.sun.imageio.plugins.jpeg.DQTMarkerSegment dqt
        end local 37 // boolean writeDHT
        end local 36 // boolean writeDQT
        end local 35 // boolean haveMetadata
        end local 34 // int numThumbs
        end local 33 // int[] scans
        end local 32 // boolean metadataProgressive
        end local 31 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        end local 30 // com.sun.imageio.plugins.jpeg.AdobeMarkerSegment adobe
        end local 29 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment jfif
        end local 28 // int outCsType
        end local 27 // int inCsType
        end local 26 // javax.imageio.metadata.IIOMetadata mdata
        end local 25 // int progressiveMode
        end local 24 // javax.imageio.plugins.jpeg.JPEGImageWriteParam jparam
        end local 23 // boolean optimizeHuffman
        end local 22 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] ACHuffmanTables
        end local 21 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] DCHuffmanTables
        end local 20 // javax.imageio.plugins.jpeg.JPEGQTable[] qTables
        end local 19 // int gridY
        end local 18 // int gridX
        end local 17 // int periodY
        end local 16 // int periodX
        end local 15 // int imageHeight
        end local 14 // int imageWidth
        end local 13 // javax.imageio.ImageTypeSpecifier destType
        end local 12 // int[] bandSizes
        end local 11 // boolean fullImage
        end local 10 // boolean usingBandSubset
        end local 9 // int numBandsUsed
        end local 8 // java.awt.color.ColorSpace cs
        end local 7 // java.awt.image.ColorModel cm
        end local 6 // int numSrcBands
        end local 5 // java.awt.image.RenderedImage rimage
        end local 4 // boolean rasterOnly
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.IIOImage image
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  547     0                 this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0  547     1       streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0  547     2                image  Ljavax/imageio/IIOImage;
            0  547     3                param  Ljavax/imageio/ImageWriteParam;
            7  547     4           rasterOnly  Z
            8  547     5               rimage  Ljava/awt/image/RenderedImage;
           33  547     6          numSrcBands  I
           36  547     7                   cm  Ljava/awt/image/ColorModel;
           37  547     8                   cs  Ljava/awt/color/ColorSpace;
           52  547     9         numBandsUsed  I
           54   64    10               sBands  [I
           67  547    10      usingBandSubset  Z
           70  547    11            fullImage  Z
           71  547    12            bandSizes  [I
           75   81    13                 temp  [I
           76   80    14                    i  I
           83   89    13             tempSize  [I
           85   89    14                    i  I
           90   97    13                    i  I
          104  108    13                    i  I
          110  547    13             destType  Ljavax/imageio/ImageTypeSpecifier;
          118  547    14           imageWidth  I
          119  547    15          imageHeight  I
          122  547    16              periodX  I
          123  547    17              periodY  I
          124  547    18                gridX  I
          125  547    19                gridY  I
          126  547    20              qTables  [Ljavax/imageio/plugins/jpeg/JPEGQTable;
          127  547    21      DCHuffmanTables  [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
          128  547    22      ACHuffmanTables  [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
          129  547    23      optimizeHuffman  Z
          130  547    24               jparam  Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
          131  547    25      progressiveMode  I
          133  171    26         sourceRegion  Ljava/awt/Rectangle;
          139  144    27          imageBounds  Ljava/awt/Rectangle;
          155  164    27              quality  F
          172  547    26                mdata  Ljavax/imageio/metadata/IIOMetadata;
          182  188    27                 type  Ljavax/imageio/ImageTypeSpecifier;
          196  547    27             inCsType  I
          197  547    28            outCsType  I
          198  547    29                 jfif  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
          199  547    30                adobe  Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
          200  547    31                  sof  Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
          233  236    32            transform  I
          260  372    32                alpha  Z
          299  308    33                outCS  I
          304  308    34           subsampled  Z
          323  332    33                outCS  I
          328  332    34           subsampled  Z
          373  547    32  metadataProgressive  Z
          374  547    33                scans  [I
          391  547    34            numThumbs  I
          418  547    35         haveMetadata  Z
          419  547    36             writeDQT  Z
          420  547    37             writeDHT  Z
          421  547    38                  dqt  Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
          422  547    39                  dht  Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
          423  547    40      restartInterval  I
          434  440    41                  dri  Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
          467  547    41         componentIds  [I
          468  547    42     HsamplingFactors  [I
          469  547    43     VsamplingFactors  [I
          470  547    44      QtableSelectors  [I
          471  478    45                    i  I
          480  488    45                    i  I
          493  547    45            destWidth  I
          494  547    46           destHeight  I
          495  547    47             lineSize  I
          496  547    48               buffer  Ljava/awt/image/DataBufferByte;
          497  547    49             bandOffs  [I
          506  547    50              aborted  Z
      Exception table:
        from    to  target  type
         535   541     541  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           

  public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
         0: .line 1100
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1102
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 1104
            aload 0 /* this */
            aload 1 /* streamMetadata */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.prepareWriteSequenceOnThread:(Ljavax/imageio/metadata/IIOMetadata;)V
         3: .line 1105
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 1106
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 1107
            aload 2
            athrow
         7: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1108
            return
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    9     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
      Exception table:
        from    to  target  type
           1     4       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  

  private void prepareWriteSequenceOnThread(javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
         0: .line 1112
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 1113
            new java.lang.IllegalStateException
            dup
            ldc "Output has not been set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1125
      StackMap locals:
      StackMap stack:
            aload 1 /* streamMetadata */
            ifnull 39
         3: .line 1126
            aload 1 /* streamMetadata */
            instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
            ifeq 38
         4: .line 1129
            aload 1 /* streamMetadata */
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            astore 2 /* jmeta */
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGMetadata jmeta
         5: .line 1130
            aload 2 /* jmeta */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.isStream:Z
            ifne 9
         6: .line 1131
            new java.lang.IllegalArgumentException
            dup
         7: .line 1132
            ldc "Invalid stream metadata object."
         8: .line 1131
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1137
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
            ifeq 13
        10: .line 1138
            new javax.imageio.IIOException
            dup
        11: .line 1139
            ldc "JPEG Stream metadata must precede all images"
        12: .line 1138
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
            ifeq 15
        14: .line 1142
            new javax.imageio.IIOException
            dup
            ldc "Stream metadata already written!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* jmeta */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectQTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
        16: .line 1148
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
            ifeq 20
        17: .line 1149
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "after collecting from stream metadata, streamQTables.length is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 1151
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 1149
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            ifnonnull 22
        21: .line 1154
            aload 0 /* this */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
        22: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        23: .line 1157
            aload 0 /* this */
            aload 2 /* jmeta */
            iconst_1
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        24: .line 1156
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        25: .line 1158
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            ifnonnull 27
        26: .line 1159
            aload 0 /* this */
            iconst_1
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        27: .line 1161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        28: .line 1162
            aload 0 /* this */
            aload 2 /* jmeta */
            iconst_0
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        29: .line 1161
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        30: .line 1163
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            ifnonnull 32
        31: .line 1164
            aload 0 /* this */
            iconst_0
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        32: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
        33: .line 1169
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
        34: .line 1170
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        35: .line 1171
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
        36: .line 1168
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeTables:(J[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;)V
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGMetadata jmeta
        37: .line 1172
            goto 39
        38: .line 1173
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "Stream metadata must be JPEG metadata"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
        40: .line 1177
            return
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   41     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            5   37     2           jmeta  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  

  public void writeToSequence(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.IIOImage image
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 1181
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1183
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 1185
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
            ifne 4
         3: .line 1186
            new java.lang.IllegalStateException
            dup
            ldc "sequencePrepared not called!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* image */
            aload 2 /* param */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
         5: .line 1190
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 3
         7: .line 1191
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1192
            aload 3
            athrow
         9: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
        10: .line 1193
            return
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.IIOImage image
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   11     1  image  Ljavax/imageio/IIOImage;
            0   11     2  param  Ljavax/imageio/ImageWriteParam;
      Exception table:
        from    to  target  type
           1     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      image  
      param  

  public void endWriteSequence();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1196
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1198
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 1200
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
            ifne 4
         3: .line 1201
            new java.lang.IllegalStateException
            dup
            ldc "sequencePrepared not called!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
         5: .line 1204
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 1
         7: .line 1205
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1206
            aload 1
            athrow
         9: .line 1205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
        10: .line 1207
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
      Exception table:
        from    to  target  type
           1     6       6  any
    Exceptions:
      throws java.io.IOException

  public synchronized void abort();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1210
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1216
            aload 0 /* this */
            invokespecial javax.imageio.ImageWriter.abort:()V
         2: .line 1217
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.abortWrite:(J)V
         3: .line 1218
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 1
         5: .line 1219
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 1220
            aload 1
            athrow
         7: .line 1219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1221
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
      Exception table:
        from    to  target  type
           1     4       4  any

  private void resetInternalState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1225
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.resetWriter:(J)V
         1: .line 1228
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
         2: .line 1229
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
         3: .line 1230
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
         4: .line 1231
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
         5: .line 1232
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
         6: .line 1233
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         7: .line 1234
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1237
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1239
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 1241
            aload 0 /* this */
            invokespecial javax.imageio.ImageWriter.reset:()V
         3: .line 1242
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 1
         5: .line 1243
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         6: .line 1244
            aload 1
            athrow
         7: .line 1243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1245
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
      Exception table:
        from    to  target  type
           1     4       4  any

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1248
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
         1: .line 1250
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
         2: .line 1252
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
            lconst_0
            lcmp
            ifeq 9
         3: .line 1253
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
            invokeinterface sun.java2d.DisposerRecord.dispose:()V
         4: .line 1254
            aload 0 /* this */
            lconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
         5: .line 1256
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 1
         7: .line 1257
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
         8: .line 1258
            aload 1
            athrow
         9: .line 1257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
        10: .line 1259
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
      Exception table:
        from    to  target  type
           1     6       6  any

  void warningOccurred(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // int code
         0: .line 1271
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1273
            iload 1 /* code */
            iflt 2
            iload 1 /* code */
            bipush 15
            if_icmple 3
         2: .line 1274
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "Invalid warning index"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 1277
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
         5: .line 1278
            ldc "com.sun.imageio.plugins.jpeg.JPEGImageWriterResources"
         6: .line 1279
            iload 1 /* code */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
         7: .line 1276
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWarningOccurred:(ILjava/lang/String;Ljava/lang/String;)V
         8: .line 1280
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
        10: .line 1281
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
        11: .line 1282
            aload 2
            athrow
        12: .line 1281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
        13: .line 1283
            return
        end local 1 // int code
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   14     1  code  I
      Exception table:
        from    to  target  type
           1     9       9  any
    MethodParameters:
      Name  Flags
      code  

  void warningWithMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.lang.String msg
         0: .line 1299
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1301
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
            aload 1 /* msg */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         2: .line 1302
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 1303
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         5: .line 1304
            aload 2
            athrow
         6: .line 1303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         7: .line 1305
            return
        end local 1 // java.lang.String msg
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    8     1   msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
      Name  Flags
      msg   

  void thumbnailStarted(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // int thumbnailIndex
         0: .line 1308
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1310
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
            iload 1 /* thumbnailIndex */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailStarted:(II)V
         2: .line 1311
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 1312
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         5: .line 1313
            aload 2
            athrow
         6: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         7: .line 1314
            return
        end local 1 // int thumbnailIndex
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    8     1  thumbnailIndex  I
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
                Name  Flags
      thumbnailIndex  

  void thumbnailProgress(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // float percentageDone
         0: .line 1318
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1320
            aload 0 /* this */
            fload 1 /* percentageDone */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailProgress:(F)V
         2: .line 1321
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 1322
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         5: .line 1323
            aload 2
            athrow
         6: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         7: .line 1324
            return
        end local 1 // float percentageDone
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    8     1  percentageDone  F
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
                Name  Flags
      percentageDone  

  void thumbnailComplete();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1328
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1330
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailComplete:()V
         2: .line 1331
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 1332
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         5: .line 1333
            aload 1
            athrow
         6: .line 1332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         7: .line 1334
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
      Exception table:
        from    to  target  type
           1     3       3  any

  private void checkSOFBands(com.sun.imageio.plugins.jpeg.SOFMarkerSegment, int);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        start local 2 // int numBandsUsed
         0: .line 1345
            aload 1 /* sof */
            ifnull 5
         1: .line 1346
            aload 1 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            arraylength
            iload 2 /* numBandsUsed */
            if_icmpeq 5
         2: .line 1347
            new javax.imageio.IIOException
            dup
         3: .line 1348
            ldc "Metadata components != number of destination bands"
         4: .line 1347
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1351
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int numBandsUsed
        end local 1 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    6     1           sof  Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            0    6     2  numBandsUsed  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
              Name  Flags
      sof           
      numBandsUsed  

  private void checkJFIF(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, javax.imageio.ImageTypeSpecifier, boolean);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment jfif
        start local 2 // javax.imageio.ImageTypeSpecifier type
        start local 3 // boolean input
         0: .line 1356
            aload 1 /* jfif */
            ifnull 7
         1: .line 1357
            aload 2 /* type */
            iload 3 /* input */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
            ifne 7
         2: .line 1358
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
         3: .line 1359
            aload 0 /* this */
            iload 3 /* input */
            ifeq 5
         4: .line 1360
            iconst_5
            goto 6
         5: .line 1361
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter
            iconst_3
         6: .line 1359
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JFIFMarkerSegment javax.imageio.ImageTypeSpecifier int
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter int
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
         7: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean input
        end local 2 // javax.imageio.ImageTypeSpecifier type
        end local 1 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment jfif
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    8     1   jfif  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            0    8     2   type  Ljavax/imageio/ImageTypeSpecifier;
            0    8     3  input  Z
    MethodParameters:
       Name  Flags
      jfif   
      type   
      input  

  private void checkAdobe(com.sun.imageio.plugins.jpeg.AdobeMarkerSegment, javax.imageio.ImageTypeSpecifier, boolean);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.AdobeMarkerSegment adobe
        start local 2 // javax.imageio.ImageTypeSpecifier type
        start local 3 // boolean input
         0: .line 1369
            aload 1 /* adobe */
            ifnull 11
         1: .line 1370
            aload 2 /* type */
            iload 3 /* input */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG.transformForType:(Ljavax/imageio/ImageTypeSpecifier;Z)I
            istore 4 /* rightTransform */
        start local 4 // int rightTransform
         2: .line 1371
            aload 1 /* adobe */
            getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
            iload 4 /* rightTransform */
            if_icmpeq 11
         3: .line 1372
            aload 0 /* this */
            iload 3 /* input */
            ifeq 5
         4: .line 1373
            bipush 6
            goto 6
         5: .line 1374
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.AdobeMarkerSegment javax.imageio.ImageTypeSpecifier int int
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter
            iconst_4
         6: .line 1372
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.AdobeMarkerSegment javax.imageio.ImageTypeSpecifier int int
      StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter int
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
         7: .line 1375
            iload 4 /* rightTransform */
            iconst_m1
            if_icmpne 10
         8: .line 1376
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
         9: .line 1377
            goto 11
        10: .line 1378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* rightTransform */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
        end local 4 // int rightTransform
        11: .line 1382
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean input
        end local 2 // javax.imageio.ImageTypeSpecifier type
        end local 1 // com.sun.imageio.plugins.jpeg.AdobeMarkerSegment adobe
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   12     1           adobe  Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
            0   12     2            type  Ljavax/imageio/ImageTypeSpecifier;
            0   12     3           input  Z
            2   11     4  rightTransform  I
    MethodParameters:
       Name  Flags
      adobe  
      type   
      input  

  private int[] collectScans(com.sun.imageio.plugins.jpeg.JPEGMetadata, com.sun.imageio.plugins.jpeg.SOFMarkerSegment);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;)[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        start local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
         0: .line 1392
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* segments */
        start local 3 // java.util.List segments
         1: .line 1393
            bipush 9
            istore 4 /* SCAN_SIZE */
        start local 4 // int SCAN_SIZE
         2: .line 1394
            iconst_4
            istore 5 /* MAX_COMPS_PER_SCAN */
        start local 5 // int MAX_COMPS_PER_SCAN
         3: .line 1395
            aload 1 /* metadata */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
         4: .line 1396
            goto 8
         5: .line 1397
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata com.sun.imageio.plugins.jpeg.SOFMarkerSegment java.util.List int int java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
            astore 7 /* seg */
        start local 7 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
         6: .line 1398
            aload 7 /* seg */
            instanceof com.sun.imageio.plugins.jpeg.SOSMarkerSegment
            ifeq 8
         7: .line 1399
            aload 3 /* segments */
            aload 7 /* seg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
         8: .line 1396
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 6 // java.util.Iterator iter
         9: .line 1402
            aconst_null
            astore 6 /* retval */
        start local 6 // int[] retval
        10: .line 1403
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
        11: .line 1404
            aload 3 /* segments */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 40
        12: .line 1405
            aload 0 /* this */
            aload 3 /* segments */
            invokeinterface java.util.List.size:()I
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
        13: .line 1406
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
            iload 4 /* SCAN_SIZE */
            imul
            newarray 10
            astore 6 /* retval */
        14: .line 1407
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        15: .line 1408
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 39
        17: .line 1409
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata com.sun.imageio.plugins.jpeg.SOFMarkerSegment java.util.List int int int[] int int
      StackMap stack:
            aload 3 /* segments */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.SOSMarkerSegment
            astore 9 /* sos */
        start local 9 // com.sun.imageio.plugins.jpeg.SOSMarkerSegment sos
        18: .line 1410
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
            arraylength
            iastore
        19: .line 1411
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        20: goto 33
        21: .line 1412
      StackMap locals: com.sun.imageio.plugins.jpeg.SOSMarkerSegment int
      StackMap stack:
            iload 10 /* j */
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
            arraylength
            if_icmpge 31
        22: .line 1413
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
            iload 10 /* j */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment$ScanComponentSpec.componentSelector:I
            istore 11 /* compSel */
        start local 11 // int compSel
        23: .line 1414
            iconst_0
            istore 12 /* k */
        start local 12 // int k
        24: goto 29
        25: .line 1415
      StackMap locals: int int
      StackMap stack:
            iload 11 /* compSel */
            aload 2 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            iload 12 /* k */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.componentId:I
            if_icmpne 28
        26: .line 1416
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 12 /* k */
            iastore
        27: .line 1417
            goto 32
        28: .line 1414
      StackMap locals:
      StackMap stack:
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        29: iload 12 /* k */
            aload 2 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            arraylength
            if_icmplt 25
        end local 12 // int k
        end local 11 // int compSel
        30: .line 1420
            goto 32
        31: .line 1421
      StackMap locals:
      StackMap stack:
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iconst_0
            iastore
        32: .line 1411
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 10 /* j */
            iload 5 /* MAX_COMPS_PER_SCAN */
            if_icmplt 21
        end local 10 // int j
        34: .line 1424
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.startSpectralSelection:I
            iastore
        35: .line 1425
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.endSpectralSelection:I
            iastore
        36: .line 1426
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.approxHigh:I
            iastore
        37: .line 1427
            aload 6 /* retval */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* sos */
            getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.approxLow:I
            iastore
        end local 9 // com.sun.imageio.plugins.jpeg.SOSMarkerSegment sos
        38: .line 1408
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 8 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
            if_icmplt 17
        end local 8 // int i
        end local 7 // int index
        40: .line 1430
      StackMap locals:
      StackMap stack:
            aload 6 /* retval */
            areturn
        end local 6 // int[] retval
        end local 5 // int MAX_COMPS_PER_SCAN
        end local 4 // int SCAN_SIZE
        end local 3 // java.util.List segments
        end local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        end local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   41     0                this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   41     1            metadata  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            0   41     2                 sof  Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            1   41     3            segments  Ljava/util/List;
            2   41     4           SCAN_SIZE  I
            3   41     5  MAX_COMPS_PER_SCAN  I
            4    9     6                iter  Ljava/util/Iterator;
            6    8     7                 seg  Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
           10   41     6              retval  [I
           15   40     7               index  I
           16   40     8                   i  I
           18   38     9                 sos  Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment;
           20   34    10                   j  I
           23   30    11             compSel  I
           24   30    12                   k  I
    MethodParameters:
          Name  Flags
      metadata  
      sof       

  private javax.imageio.plugins.jpeg.JPEGQTable[] collectQTablesFromMetadata(com.sun.imageio.plugins.jpeg.JPEGMetadata);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
         0: .line 1439
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* tables */
        start local 2 // java.util.ArrayList tables
         1: .line 1440
            aload 1 /* metadata */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: .line 1441
            goto 8
         3: .line 1442
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
            astore 4 /* seg */
        start local 4 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
         4: .line 1443
            aload 4 /* seg */
            instanceof com.sun.imageio.plugins.jpeg.DQTMarkerSegment
            ifeq 8
         5: .line 1445
            aload 4 /* seg */
            checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment
         6: .line 1444
            astore 5 /* dqt */
        start local 5 // com.sun.imageio.plugins.jpeg.DQTMarkerSegment dqt
         7: .line 1446
            aload 2 /* tables */
            aload 5 /* dqt */
            getfield com.sun.imageio.plugins.jpeg.DQTMarkerSegment.tables:Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // com.sun.imageio.plugins.jpeg.DQTMarkerSegment dqt
        end local 4 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
         8: .line 1441
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1449
            aconst_null
            astore 4 /* retval */
        start local 4 // javax.imageio.plugins.jpeg.JPEGQTable[] retval
        10: .line 1450
            aload 2 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            ifeq 19
        11: .line 1451
            aload 2 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            anewarray javax.imageio.plugins.jpeg.JPEGQTable
            astore 4 /* retval */
        12: .line 1452
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 18
        14: .line 1453
      StackMap locals: javax.imageio.plugins.jpeg.JPEGQTable[] int
      StackMap stack:
            aload 4 /* retval */
            iload 5 /* i */
        15: .line 1454
            new javax.imageio.plugins.jpeg.JPEGQTable
            dup
            aload 2 /* tables */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable
            getfield com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable.data:[I
            invokespecial javax.imageio.plugins.jpeg.JPEGQTable.<init>:([I)V
        16: .line 1453
            aastore
        17: .line 1452
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 4 /* retval */
            arraylength
            if_icmplt 14
        end local 5 // int i
        19: .line 1457
      StackMap locals:
      StackMap stack:
            aload 4 /* retval */
            areturn
        end local 4 // javax.imageio.plugins.jpeg.JPEGQTable[] retval
        end local 3 // java.util.Iterator iter
        end local 2 // java.util.ArrayList tables
        end local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   20     1  metadata  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            1   20     2    tables  Ljava/util/ArrayList;
            2   20     3      iter  Ljava/util/Iterator;
            4    8     4       seg  Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            7    8     5       dqt  Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
           10   20     4    retval  [Ljavax/imageio/plugins/jpeg/JPEGQTable;
           13   19     5         i  I
    MethodParameters:
          Name  Flags
      metadata  

  private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] collectHTablesFromMetadata(com.sun.imageio.plugins.jpeg.JPEGMetadata, boolean);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        start local 2 // boolean wantDC
         0: .line 1469
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* tables */
        start local 3 // java.util.ArrayList tables
         1: .line 1470
            aload 1 /* metadata */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         2: .line 1471
            goto 17
         3: .line 1472
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
            astore 5 /* seg */
        start local 5 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
         4: .line 1473
            aload 5 /* seg */
            instanceof com.sun.imageio.plugins.jpeg.DHTMarkerSegment
            ifeq 17
         5: .line 1475
            aload 5 /* seg */
            checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment
         6: .line 1474
            astore 6 /* dht */
        start local 6 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment dht
         7: .line 1476
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 16
         9: .line 1478
      StackMap locals: com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int
      StackMap stack:
            aload 6 /* dht */
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment.tables:Ljava/util/List;
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
        10: .line 1477
            astore 8 /* htable */
        start local 8 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable htable
        11: .line 1479
            aload 8 /* htable */
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
            iload 2 /* wantDC */
            ifeq 12
            iconst_0
            goto 13
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata int java.util.ArrayList java.util.Iterator com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
      StackMap stack: int
        12: iconst_1
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata int java.util.ArrayList java.util.Iterator com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
      StackMap stack: int int
        13: if_icmpne 15
        14: .line 1480
            aload 3 /* tables */
            aload 8 /* htable */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable htable
        15: .line 1476
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            aload 6 /* dht */
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment.tables:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 9
        end local 7 // int i
        end local 6 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment dht
        end local 5 // com.sun.imageio.plugins.jpeg.MarkerSegment seg
        17: .line 1471
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        18: .line 1485
            aconst_null
            astore 5 /* retval */
        start local 5 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] retval
        19: .line 1486
            aload 3 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            ifeq 39
        20: .line 1488
            aload 3 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
        21: .line 1487
            astore 6 /* htables */
        start local 6 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable[] htables
        22: .line 1489
            aload 3 /* tables */
            aload 6 /* htables */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        23: .line 1490
            aload 3 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            anewarray javax.imageio.plugins.jpeg.JPEGHuffmanTable
            astore 5 /* retval */
        24: .line 1491
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 38
        26: .line 1492
      StackMap locals: javax.imageio.plugins.jpeg.JPEGHuffmanTable[] com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable[] int
      StackMap stack:
            aload 5 /* retval */
            iload 7 /* i */
            aconst_null
            aastore
        27: .line 1493
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        28: goto 36
        29: .line 1494
      StackMap locals: int
      StackMap stack:
            aload 6 /* htables */
            iload 8 /* j */
            aaload
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
            iload 7 /* i */
            if_icmpne 35
        30: .line 1495
            aload 5 /* retval */
            iload 7 /* i */
            aaload
            ifnull 32
        31: .line 1496
            new javax.imageio.IIOException
            dup
            ldc "Metadata has duplicate Htables!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1498
      StackMap locals:
      StackMap stack:
            aload 5 /* retval */
            iload 7 /* i */
            new javax.imageio.plugins.jpeg.JPEGHuffmanTable
            dup
            aload 6 /* htables */
            iload 8 /* j */
            aaload
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
        33: .line 1499
            aload 6 /* htables */
            iload 8 /* j */
            aaload
            getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
            invokespecial javax.imageio.plugins.jpeg.JPEGHuffmanTable.<init>:([S[S)V
        34: .line 1498
            aastore
        35: .line 1493
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        36: iload 8 /* j */
            aload 3 /* tables */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 29
        end local 8 // int j
        37: .line 1491
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 7 /* i */
            aload 5 /* retval */
            arraylength
            if_icmplt 26
        end local 7 // int i
        end local 6 // com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable[] htables
        39: .line 1505
      StackMap locals:
      StackMap stack:
            aload 5 /* retval */
            areturn
        end local 5 // javax.imageio.plugins.jpeg.JPEGHuffmanTable[] retval
        end local 4 // java.util.Iterator iter
        end local 3 // java.util.ArrayList tables
        end local 2 // boolean wantDC
        end local 1 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   40     1  metadata  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            0   40     2    wantDC  Z
            1   40     3    tables  Ljava/util/ArrayList;
            2   40     4      iter  Ljava/util/Iterator;
            4   17     5       seg  Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            7   17     6       dht  Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
            8   17     7         i  I
           11   15     8    htable  Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
           19   40     5    retval  [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
           22   39     6   htables  [Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
           25   39     7         i  I
           28   37     8         j  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
          Name  Flags
      metadata  
      wantDC    

  private int getSrcCSType(javax.imageio.ImageTypeSpecifier);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier type
         0: .line 1513
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/ColorModel;)I
            ireturn
        end local 1 // javax.imageio.ImageTypeSpecifier type
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    1     1  type  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
      Name  Flags
      type  

  private int getSrcCSType(java.awt.image.RenderedImage);
    descriptor: (Ljava/awt/image/RenderedImage;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.awt.image.RenderedImage rimage
         0: .line 1517
            aload 0 /* this */
            aload 1 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/ColorModel;)I
            ireturn
        end local 1 // java.awt.image.RenderedImage rimage
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    1     1  rimage  Ljava/awt/image/RenderedImage;
    MethodParameters:
        Name  Flags
      rimage  

  private int getSrcCSType(java.awt.image.ColorModel);
    descriptor: (Ljava/awt/image/ColorModel;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.awt.image.ColorModel cm
         0: .line 1521
            iconst_0
            istore 2 /* retval */
        start local 2 // int retval
         1: .line 1522
            aload 1 /* cm */
            ifnull 23
         2: .line 1523
            aload 1 /* cm */
            invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
            istore 3 /* alpha */
        start local 3 // boolean alpha
         3: .line 1524
            aload 1 /* cm */
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 4 /* cs */
        start local 4 // java.awt.color.ColorSpace cs
         4: .line 1525
            aload 4 /* cs */
            invokevirtual java.awt.color.ColorSpace.getType:()I
            tableswitch { // 3 - 13
                    3: 12
                    4: 23
                    5: 7
                    6: 5
                    7: 23
                    8: 23
                    9: 22
                   10: 23
                   11: 23
                   12: 23
                   13: 17
              default: 23
          }
         5: .line 1527
      StackMap locals: int int java.awt.color.ColorSpace
      StackMap stack:
            iconst_1
            istore 2 /* retval */
         6: .line 1528
            goto 23
         7: .line 1530
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 10
         8: .line 1531
            bipush 6
            istore 2 /* retval */
         9: .line 1532
            goto 23
        10: .line 1533
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 2 /* retval */
        11: .line 1535
            goto 23
        12: .line 1537
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 15
        13: .line 1538
            bipush 7
            istore 2 /* retval */
        14: .line 1539
            goto 23
        15: .line 1540
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* retval */
        16: .line 1542
            goto 23
        17: .line 1544
      StackMap locals:
      StackMap stack:
            aload 4 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
            if_acmpne 22
        18: .line 1545
            iload 3 /* alpha */
            ifeq 21
        19: .line 1546
            bipush 10
            istore 2 /* retval */
        20: .line 1547
            goto 22
        21: .line 1548
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 2 /* retval */
        22: .line 1552
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 2 /* retval */
        end local 4 // java.awt.color.ColorSpace cs
        end local 3 // boolean alpha
        23: .line 1556
      StackMap locals:
      StackMap stack:
            iload 2 /* retval */
            ireturn
        end local 2 // int retval
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   24     1      cm  Ljava/awt/image/ColorModel;
            1   24     2  retval  I
            3   23     3   alpha  Z
            4   23     4      cs  Ljava/awt/color/ColorSpace;
    MethodParameters:
      Name  Flags
      cm    

  private int getDestCSType(javax.imageio.ImageTypeSpecifier);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier destType
         0: .line 1560
            aload 1 /* destType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            astore 2 /* cm */
        start local 2 // java.awt.image.ColorModel cm
         1: .line 1561
            aload 2 /* cm */
            invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
            istore 3 /* alpha */
        start local 3 // boolean alpha
         2: .line 1562
            aload 2 /* cm */
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 4 /* cs */
        start local 4 // java.awt.color.ColorSpace cs
         3: .line 1563
            iconst_0
            istore 5 /* retval */
        start local 5 // int retval
         4: .line 1564
            aload 4 /* cs */
            invokevirtual java.awt.color.ColorSpace.getType:()I
            tableswitch { // 3 - 13
                    3: 12
                    4: 23
                    5: 7
                    6: 5
                    7: 23
                    8: 23
                    9: 22
                   10: 23
                   11: 23
                   12: 23
                   13: 17
              default: 23
          }
         5: .line 1566
      StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.ImageTypeSpecifier java.awt.image.ColorModel int java.awt.color.ColorSpace int
      StackMap stack:
            iconst_1
            istore 5 /* retval */
         6: .line 1567
            goto 23
         7: .line 1569
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 10
         8: .line 1570
            bipush 6
            istore 5 /* retval */
         9: .line 1571
            goto 23
        10: .line 1572
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 5 /* retval */
        11: .line 1574
            goto 23
        12: .line 1576
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 15
        13: .line 1577
            bipush 7
            istore 5 /* retval */
        14: .line 1578
            goto 23
        15: .line 1579
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 5 /* retval */
        16: .line 1581
            goto 23
        17: .line 1583
      StackMap locals:
      StackMap stack:
            aload 4 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
            if_acmpne 22
        18: .line 1584
            iload 3 /* alpha */
            ifeq 21
        19: .line 1585
            bipush 10
            istore 5 /* retval */
        20: .line 1586
            goto 22
        21: .line 1587
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 5 /* retval */
        22: .line 1591
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 5 /* retval */
        23: .line 1594
      StackMap locals:
      StackMap stack:
            iload 5 /* retval */
            ireturn
        end local 5 // int retval
        end local 4 // java.awt.color.ColorSpace cs
        end local 3 // boolean alpha
        end local 2 // java.awt.image.ColorModel cm
        end local 1 // javax.imageio.ImageTypeSpecifier destType
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   24     1  destType  Ljavax/imageio/ImageTypeSpecifier;
            1   24     2        cm  Ljava/awt/image/ColorModel;
            2   24     3     alpha  Z
            3   24     4        cs  Ljava/awt/color/ColorSpace;
            4   24     5    retval  I
    MethodParameters:
          Name  Flags
      destType  

  private int getDefaultDestCSType(javax.imageio.ImageTypeSpecifier);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier type
         0: .line 1598
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/ColorModel;)I
            ireturn
        end local 1 // javax.imageio.ImageTypeSpecifier type
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    1     1  type  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
      Name  Flags
      type  

  private int getDefaultDestCSType(java.awt.image.RenderedImage);
    descriptor: (Ljava/awt/image/RenderedImage;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.awt.image.RenderedImage rimage
         0: .line 1602
            aload 0 /* this */
            aload 1 /* rimage */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/ColorModel;)I
            ireturn
        end local 1 // java.awt.image.RenderedImage rimage
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    1     1  rimage  Ljava/awt/image/RenderedImage;
    MethodParameters:
        Name  Flags
      rimage  

  private int getDefaultDestCSType(java.awt.image.ColorModel);
    descriptor: (Ljava/awt/image/ColorModel;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // java.awt.image.ColorModel cm
         0: .line 1606
            iconst_0
            istore 2 /* retval */
        start local 2 // int retval
         1: .line 1607
            aload 1 /* cm */
            ifnull 23
         2: .line 1608
            aload 1 /* cm */
            invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
            istore 3 /* alpha */
        start local 3 // boolean alpha
         3: .line 1609
            aload 1 /* cm */
            invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
            astore 4 /* cs */
        start local 4 // java.awt.color.ColorSpace cs
         4: .line 1610
            aload 4 /* cs */
            invokevirtual java.awt.color.ColorSpace.getType:()I
            tableswitch { // 3 - 13
                    3: 12
                    4: 23
                    5: 7
                    6: 5
                    7: 23
                    8: 23
                    9: 22
                   10: 23
                   11: 23
                   12: 23
                   13: 17
              default: 23
          }
         5: .line 1612
      StackMap locals: int int java.awt.color.ColorSpace
      StackMap stack:
            iconst_1
            istore 2 /* retval */
         6: .line 1613
            goto 23
         7: .line 1615
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 10
         8: .line 1616
            bipush 7
            istore 2 /* retval */
         9: .line 1617
            goto 23
        10: .line 1618
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* retval */
        11: .line 1620
            goto 23
        12: .line 1622
      StackMap locals:
      StackMap stack:
            iload 3 /* alpha */
            ifeq 15
        13: .line 1623
            bipush 7
            istore 2 /* retval */
        14: .line 1624
            goto 23
        15: .line 1625
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* retval */
        16: .line 1627
            goto 23
        17: .line 1629
      StackMap locals:
      StackMap stack:
            aload 4 /* cs */
            invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
            if_acmpne 22
        18: .line 1630
            iload 3 /* alpha */
            ifeq 21
        19: .line 1631
            bipush 10
            istore 2 /* retval */
        20: .line 1632
            goto 22
        21: .line 1633
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 2 /* retval */
        22: .line 1637
      StackMap locals:
      StackMap stack:
            bipush 11
            istore 2 /* retval */
        end local 4 // java.awt.color.ColorSpace cs
        end local 3 // boolean alpha
        23: .line 1641
      StackMap locals:
      StackMap stack:
            iload 2 /* retval */
            ireturn
        end local 2 // int retval
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   24     1      cm  Ljava/awt/image/ColorModel;
            1   24     2  retval  I
            3   23     3   alpha  Z
            4   23     4      cs  Ljava/awt/color/ColorSpace;
    MethodParameters:
      Name  Flags
      cm    

  private boolean isSubsampled(com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec[]);
    descriptor: ([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec[] specs
         0: .line 1645
            aload 1 /* specs */
            iconst_0
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
            istore 2 /* hsamp0 */
        start local 2 // int hsamp0
         1: .line 1646
            aload 1 /* specs */
            iconst_0
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.VsamplingFactor:I
            pop
         2: .line 1647
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 1648
      StackMap locals: int int
      StackMap stack:
            aload 1 /* specs */
            iload 3 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
            iload 2 /* hsamp0 */
            if_icmpne 6
         5: .line 1649
            aload 1 /* specs */
            iload 3 /* i */
            aaload
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
            iload 2 /* hsamp0 */
            if_icmpeq 7
         6: .line 1650
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         7: .line 1647
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* specs */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 1652
            iconst_0
            ireturn
        end local 2 // int hsamp0
        end local 1 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec[] specs
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   10     1   specs  [Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
            1   10     2  hsamp0  I
            3    9     3       i  I
    MethodParameters:
       Name  Flags
      specs  

  private static native void initWriterIDs(java.lang.Class, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      qTableClass  
      huffClass    

  private native long initJPEGImageWriter();
    descriptor: ()J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native void setDest(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      structPointer  

  private native boolean writeImage(long, byte[], int, int, int, int[], int, int, int, int, int, javax.imageio.plugins.jpeg.JPEGQTable[], boolean, javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], boolean, boolean, boolean, int, int[], int[], int[], int[], int[], boolean, int);
    descriptor: (J[BIII[IIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;Z[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;ZZZI[I[I[I[I[IZI)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                  Name  Flags
      structPointer     
      data              
      inCsType          
      outCsType         
      numBands          
      bandSizes         
      srcWidth          
      destWidth         
      destHeight        
      stepX             
      stepY             
      qtables           
      writeDQT          
      DCHuffmanTables   
      ACHuffmanTables   
      writeDHT          
      optimizeHuffman   
      progressive       
      numScans          
      scans             
      componentIds      
      HsamplingFactors  
      VsamplingFactors  
      QtableSelectors   
      haveMetadata      
      restartInterval   

  private void writeMetadata();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1704
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnonnull 10
         1: .line 1705
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
            ifeq 7
         2: .line 1706
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
         3: .line 1707
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
         4: .line 1708
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
         5: .line 1709
            aload 0 /* this */
         6: .line 1706
            invokestatic com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.writeDefaultJFIF:(Ljavax/imageio/stream/ImageOutputStream;Ljava/util/List;Ljava/awt/color/ICC_Profile;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
         7: .line 1711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
            ifeq 19
         8: .line 1712
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
            invokestatic com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.writeAdobeSegment:(Ljavax/imageio/stream/ImageOutputStream;I)V
         9: .line 1714
            goto 19
        10: .line 1715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
        11: .line 1716
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
        12: .line 1717
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
        13: .line 1718
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
        14: .line 1719
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
        15: .line 1720
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
        16: .line 1721
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
        17: .line 1722
            aload 0 /* this */
        18: .line 1715
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.writeToStream:(Ljavax/imageio/stream/ImageOutputStream;ZZLjava/util/List;Ljava/awt/color/ICC_Profile;ZILcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
        19: .line 1724
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
    Exceptions:
      throws java.io.IOException

  private native void writeTables(long, javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[]);
    descriptor: (J[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      structPointer    
      qtables          
      DCHuffmanTables  
      ACHuffmanTables  

  private void grabPixels(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // int y
         0: .line 1743
            aconst_null
            astore 2 /* sourceLine */
        start local 2 // java.awt.image.Raster sourceLine
         1: .line 1744
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
            ifeq 16
         2: .line 1745
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
         3: .line 1746
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
            iload 1 /* y */
            iadd
         4: .line 1747
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iconst_1
         5: .line 1748
            iconst_0
            iconst_0
         6: .line 1749
            iconst_1
            newarray 10
         7: .line 1745
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 2 /* sourceLine */
         8: .line 1754
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
            invokevirtual java.awt.image.IndexColorModel.getTransparency:()I
            iconst_1
            if_icmpeq 9
            iconst_1
            goto 10
      StackMap locals: java.awt.image.Raster
      StackMap stack:
         9: iconst_0
        10: .line 1753
      StackMap locals:
      StackMap stack: int
            istore 3 /* forceARGB */
        start local 3 // boolean forceARGB
        11: .line 1755
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
            aload 2 /* sourceLine */
        12: .line 1756
            iload 3 /* forceARGB */
        13: .line 1755
            invokevirtual java.awt.image.IndexColorModel.convertToIntDiscrete:(Ljava/awt/image/Raster;Z)Ljava/awt/image/BufferedImage;
            astore 4 /* temp */
        start local 4 // java.awt.image.BufferedImage temp
        14: .line 1757
            aload 4 /* temp */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            astore 2 /* sourceLine */
        end local 4 // java.awt.image.BufferedImage temp
        end local 3 // boolean forceARGB
        15: .line 1758
            goto 22
        16: .line 1759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
        17: .line 1760
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
            iload 1 /* y */
            iadd
        18: .line 1761
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
            iconst_1
        19: .line 1762
            iconst_0
            iconst_0
        20: .line 1763
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
        21: .line 1759
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 2 /* sourceLine */
        22: .line 1765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
            ifeq 27
        23: .line 1766
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
            ifeq 25
        24: .line 1767
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Converting to sRGB"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        25: .line 1772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
            aload 2 /* sourceLine */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
            invokevirtual java.awt.image.ColorConvertOp.filter:(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)Ljava/awt/image/WritableRaster;
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
        26: .line 1773
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
            astore 2 /* sourceLine */
        27: .line 1775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
            ifeq 44
        28: .line 1776
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.createCompatibleWritableRaster:()Ljava/awt/image/WritableRaster;
            astore 3 /* wr */
        start local 3 // java.awt.image.WritableRaster wr
        29: .line 1777
            aconst_null
            astore 4 /* data */
        start local 4 // int[] data
        30: .line 1778
            aload 2 /* sourceLine */
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getMinX:()I
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getMinY:()I
        31: .line 1779
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getWidth:()I
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getHeight:()I
        32: .line 1780
            aload 4 /* data */
        33: .line 1778
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            astore 4 /* data */
        34: .line 1781
            aload 3 /* wr */
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getMinX:()I
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getMinY:()I
        35: .line 1782
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getWidth:()I
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.Raster.getHeight:()I
        36: .line 1783
            aload 4 /* data */
        37: .line 1781
            invokevirtual java.awt.image.WritableRaster.setPixels:(IIII[I)V
        38: .line 1784
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
            aload 3 /* wr */
            iconst_0
            invokevirtual java.awt.image.ColorModel.coerceData:(Ljava/awt/image/WritableRaster;Z)Ljava/awt/image/ColorModel;
            pop
        39: .line 1785
            aload 3 /* wr */
            aload 3 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            aload 3 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
        40: .line 1786
            aload 3 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 3 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        41: .line 1787
            iconst_0
            iconst_0
        42: .line 1788
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
        43: .line 1785
            invokevirtual java.awt.image.WritableRaster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 2 /* sourceLine */
        end local 4 // int[] data
        end local 3 // java.awt.image.WritableRaster wr
        44: .line 1790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
            aload 2 /* sourceLine */
            invokevirtual java.awt.image.WritableRaster.setRect:(Ljava/awt/image/Raster;)V
        45: .line 1791
            iload 1 /* y */
            bipush 7
            if_icmple 53
            iload 1 /* y */
            bipush 8
            irem
            ifne 53
        46: .line 1792
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
        47: .line 1794
            aload 0 /* this */
            iload 1 /* y */
            i2f
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
            i2f
            fdiv
            ldc 100.0
            fmul
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageProgress:(F)V
        48: .line 1795
            goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 3
        50: .line 1796
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
        51: .line 1797
            aload 3
            athrow
        52: .line 1796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
        53: .line 1799
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.image.Raster sourceLine
        end local 1 // int y
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   54     0        this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0   54     1           y  I
            1   54     2  sourceLine  Ljava/awt/image/Raster;
           11   15     3   forceARGB  Z
           14   15     4        temp  Ljava/awt/image/BufferedImage;
           29   44     3          wr  Ljava/awt/image/WritableRaster;
           30   44     4        data  [I
      Exception table:
        from    to  target  type
          47    49      49  any
    MethodParameters:
      Name  Flags
      y     

  private native void abortWrite(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      structPointer  

  private native void resetWriter(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      structPointer  

  private static native void disposeWriter(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      structPointer  

  private void writeOutputData(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
        start local 1 // byte[] data
        start local 2 // int offset
        start local 3 // int len
         0: .line 1836
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
         1: .line 1838
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* data */
            iload 2 /* offset */
            iload 3 /* len */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
         2: .line 1839
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 4
         4: .line 1840
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         5: .line 1841
            aload 4
            athrow
         6: .line 1840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
         7: .line 1842
            return
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] data
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            0    8     1    data  [B
            0    8     2  offset  I
            0    8     3     len  I
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      data    
      offset  
      len     

  private synchronized void setThreadLock();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1848
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 1 /* currThread */
        start local 1 // java.lang.Thread currThread
         1: .line 1849
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            ifnull 10
         2: .line 1850
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            aload 1 /* currThread */
            if_acmpeq 8
         3: .line 1853
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attempt to use instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1854
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " locked on thread "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1855
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " from thread "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1856
            aload 1 /* currThread */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1853
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1858
      StackMap locals: java.lang.Thread
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
         9: .line 1860
            goto 12
        10: .line 1861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currThread */
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
        11: .line 1862
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
        12: .line 1864
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Thread currThread
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            1   13     1  currThread  Ljava/lang/Thread;

  private synchronized void clearThreadLock();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
         0: .line 1867
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 1 /* currThread */
        start local 1 // java.lang.Thread currThread
         1: .line 1868
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            ifnull 2
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            aload 1 /* currThread */
            if_acmpeq 6
         2: .line 1869
      StackMap locals: java.lang.Thread
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attempt to clear thread lock form wrong thread. Locked thread: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 1870
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 1871
            ldc "; current thread: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* currThread */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1869
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
            iconst_1
            isub
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
         7: .line 1874
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
            ifne 9
         8: .line 1875
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
         9: .line 1877
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Thread currThread
        end local 0 // com.sun.imageio.plugins.jpeg.JPEGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            1   10     1  currThread  Ljava/lang/Thread;
}
SourceFile: "JPEGImageWriter.java"
NestMembers:
  com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock  com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock$State  com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord
InnerClasses:
  Htable = com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable of com.sun.imageio.plugins.jpeg.DHTMarkerSegment
  Qtable = com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable of com.sun.imageio.plugins.jpeg.DQTMarkerSegment
  public JCS = com.sun.imageio.plugins.jpeg.JPEG$JCS of com.sun.imageio.plugins.jpeg.JPEG
  private CallBackLock = com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock of com.sun.imageio.plugins.jpeg.JPEGImageWriter
  private JPEGWriterDisposerRecord = com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord of com.sun.imageio.plugins.jpeg.JPEGImageWriter
  ComponentSpec = com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec of com.sun.imageio.plugins.jpeg.SOFMarkerSegment
  ScanComponentSpec = com.sun.imageio.plugins.jpeg.SOSMarkerSegment$ScanComponentSpec of com.sun.imageio.plugins.jpeg.SOSMarkerSegment