class com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG extends com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG
  super_class: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb
{
  com.sun.imageio.plugins.jpeg.JPEGMetadata thumbMetadata;
    descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
    flags: (0x0000) 

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

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

  final com.sun.imageio.plugins.jpeg.JFIFMarkerSegment this$0;
    descriptor: Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, com.sun.imageio.plugins.jpeg.JPEGBuffer, int, com.sun.imageio.plugins.jpeg.JPEGImageReader);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;ILcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGBuffer buffer
        start local 3 // int length
        start local 4 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
         0: .line 1128
            aload 0 /* this */
            aload 1
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.this$0:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
         1: .line 1129
            aload 0 /* this */
            aload 1
            aload 2 /* buffer */
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;)V
         2: .line 1122
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         3: .line 1123
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
         4: .line 1131
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.streamPos:J
            iload 3 /* length */
            bipush 6
            isub
            i2l
            ladd
            lstore 5 /* finalPos */
        start local 5 // long finalPos
         5: .line 1134
            aload 2 /* buffer */
            getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.iis:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.streamPos:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         6: .line 1135
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            iconst_0
            iconst_1
            aload 2 /* buffer */
            getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.iis:Ljavax/imageio/stream/ImageInputStream;
            aload 4 /* reader */
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(ZZLjavax/imageio/stream/ImageInputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         7: .line 1137
            aload 2 /* buffer */
            getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.iis:Ljavax/imageio/stream/ImageInputStream;
            lload 5 /* finalPos */
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         8: .line 1139
            aload 2 /* buffer */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
         9: .line 1140
            aload 2 /* buffer */
            iconst_0
            putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
        10: .line 1141
            return
        end local 5 // long finalPos
        end local 4 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
        end local 3 // int length
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGBuffer buffer
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            0   11     2    buffer  Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;
            0   11     3    length  I
            0   11     4    reader  Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
            5   11     5  finalPos  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      this$0  final
      buffer  
      length  
      reader  

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, org.w3c.dom.Node);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Lorg/w3c/dom/Node;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
        start local 2 // org.w3c.dom.Node node
         0: .line 1143
            aload 0 /* this */
            aload 1
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.this$0:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            aload 0 /* this */
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
         1: .line 1122
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         2: .line 1123
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
         3: .line 1144
            aload 2 /* node */
            invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            iconst_1
            if_icmple 7
         4: .line 1145
            new javax.imageio.metadata.IIOInvalidTreeException
            dup
         5: .line 1146
            ldc "JFIFThumbJPEG node must have 0 or 1 child"
            aload 2 /* node */
         6: .line 1145
            invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
            athrow
         7: .line 1148
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG com.sun.imageio.plugins.jpeg.JFIFMarkerSegment org.w3c.dom.Node
      StackMap stack:
            aload 2 /* node */
            invokeinterface org.w3c.dom.Node.getFirstChild:()Lorg/w3c/dom/Node;
            astore 3 /* child */
        start local 3 // org.w3c.dom.Node child
         8: .line 1149
            aload 3 /* child */
            ifnull 17
         9: .line 1150
            aload 3 /* child */
            invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        10: .line 1151
            aload 4 /* name */
            ldc "markerSequence"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        11: .line 1152
            new javax.imageio.metadata.IIOInvalidTreeException
            dup
        12: .line 1153
            ldc "JFIFThumbJPEG child must be a markerSequence node"
        13: .line 1154
            aload 2 /* node */
        14: .line 1152
            invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
            athrow
        15: .line 1156
      StackMap locals: org.w3c.dom.Node java.lang.String
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGMetadata
            dup
            iconst_0
            iconst_1
            invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(ZZ)V
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
        16: .line 1157
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            aload 3 /* child */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.setFromMarkerSequenceNode:(Lorg/w3c/dom/Node;)V
        end local 4 // java.lang.String name
        17: .line 1159
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.w3c.dom.Node child
        end local 2 // org.w3c.dom.Node node
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            0   18     2   node  Lorg/w3c/dom/Node;
            8   18     3  child  Lorg/w3c/dom/Node;
           10   17     4   name  Ljava/lang/String;
    Exceptions:
      throws javax.imageio.metadata.IIOInvalidTreeException
    MethodParameters:
        Name  Flags
      this$0  final
      node    

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, java.awt.image.BufferedImage);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljava/awt/image/BufferedImage;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
        start local 2 // java.awt.image.BufferedImage thumb
         0: .line 1161
            aload 0 /* this */
            aload 1
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.this$0:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            aload 0 /* this */
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
         1: .line 1122
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         2: .line 1123
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
         3: .line 1162
            sipush 4096
            istore 3 /* INITIAL_BUFSIZE */
        start local 3 // int INITIAL_BUFSIZE
         4: .line 1163
            ldc 65527
            istore 4 /* MAZ_BUFSIZE */
        start local 4 // int MAZ_BUFSIZE
         5: .line 1166
            new java.io.ByteArrayOutputStream
            dup
            iload 3 /* INITIAL_BUFSIZE */
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
         6: .line 1165
            astore 5 /* baos */
        start local 5 // java.io.ByteArrayOutputStream baos
         7: .line 1168
            new javax.imageio.stream.MemoryCacheImageOutputStream
            dup
            aload 5 /* baos */
            invokespecial javax.imageio.stream.MemoryCacheImageOutputStream.<init>:(Ljava/io/OutputStream;)V
         8: .line 1167
            astore 6 /* mos */
        start local 6 // javax.imageio.stream.MemoryCacheImageOutputStream mos
         9: .line 1170
            new com.sun.imageio.plugins.jpeg.JPEGImageWriter
            dup
            aconst_null
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
            astore 7 /* thumbWriter */
        start local 7 // com.sun.imageio.plugins.jpeg.JPEGImageWriter thumbWriter
        10: .line 1172
            aload 7 /* thumbWriter */
            aload 6 /* mos */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setOutput:(Ljava/lang/Object;)V
        11: .line 1176
            aload 7 /* thumbWriter */
        12: .line 1177
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 2 /* thumb */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
            aconst_null
        13: .line 1176
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
        14: .line 1175
            astore 8 /* metadata */
        start local 8 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        15: .line 1180
            aload 8 /* metadata */
        16: .line 1181
            ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
            iconst_1
        17: .line 1180
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
            astore 9 /* jfif */
        start local 9 // com.sun.imageio.plugins.jpeg.MarkerSegment jfif
        18: .line 1182
            aload 9 /* jfif */
            ifnonnull 20
        19: .line 1183
            new com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
            dup
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
            athrow
        20: .line 1186
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG com.sun.imageio.plugins.jpeg.JFIFMarkerSegment java.awt.image.BufferedImage int int java.io.ByteArrayOutputStream javax.imageio.stream.MemoryCacheImageOutputStream com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata com.sun.imageio.plugins.jpeg.MarkerSegment
      StackMap stack:
            aload 8 /* metadata */
            getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
            aload 9 /* jfif */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        21: .line 1209
            aload 7 /* thumbWriter */
            new javax.imageio.IIOImage
            dup
            aload 2 /* thumb */
            aconst_null
            aload 8 /* metadata */
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.write:(Ljavax/imageio/IIOImage;)V
        22: .line 1211
            aload 7 /* thumbWriter */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.dispose:()V
        23: .line 1213
            aload 5 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            iload 4 /* MAZ_BUFSIZE */
            if_icmple 25
        24: .line 1214
            new com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
            dup
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
            athrow
        25: .line 1216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
        end local 9 // com.sun.imageio.plugins.jpeg.MarkerSegment jfif
        end local 8 // com.sun.imageio.plugins.jpeg.JPEGMetadata metadata
        end local 7 // com.sun.imageio.plugins.jpeg.JPEGImageWriter thumbWriter
        end local 6 // javax.imageio.stream.MemoryCacheImageOutputStream mos
        end local 5 // java.io.ByteArrayOutputStream baos
        26: .line 1217
            goto 29
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG com.sun.imageio.plugins.jpeg.JFIFMarkerSegment java.awt.image.BufferedImage int int
      StackMap stack: java.io.IOException
        27: pop
        28: .line 1218
            new com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
            dup
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
            athrow
        29: .line 1220
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int MAZ_BUFSIZE
        end local 3 // int INITIAL_BUFSIZE
        end local 2 // java.awt.image.BufferedImage thumb
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0             this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            0   30     2            thumb  Ljava/awt/image/BufferedImage;
            4   30     3  INITIAL_BUFSIZE  I
            5   30     4      MAZ_BUFSIZE  I
            7   26     5             baos  Ljava/io/ByteArrayOutputStream;
            9   26     6              mos  Ljavax/imageio/stream/MemoryCacheImageOutputStream;
           10   26     7      thumbWriter  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
           15   26     8         metadata  Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
           18   26     9             jfif  Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
      Exception table:
        from    to  target  type
           5    26      27  Class java.io.IOException
    Exceptions:
      throws com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
    MethodParameters:
        Name  Flags
      this$0  final
      thumb   

  int getWidth();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1223
            iconst_0
            istore 1 /* retval */
        start local 1 // int retval
         1: .line 1225
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         2: .line 1226
            ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            iconst_1
         3: .line 1225
            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
         4: .line 1224
            astore 2 /* sof */
        start local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
         5: .line 1227
            aload 2 /* sof */
            ifnull 7
         6: .line 1228
            aload 2 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.samplesPerLine:I
            istore 1 /* retval */
         7: .line 1230
      StackMap locals: int com.sun.imageio.plugins.jpeg.SOFMarkerSegment
      StackMap stack:
            iload 1 /* retval */
            ireturn
        end local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        end local 1 // int retval
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            1    8     1  retval  I
            5    8     2     sof  Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;

  int getHeight();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1234
            iconst_0
            istore 1 /* retval */
        start local 1 // int retval
         1: .line 1236
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         2: .line 1237
            ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
            iconst_1
         3: .line 1236
            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
         4: .line 1235
            astore 2 /* sof */
        start local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
         5: .line 1238
            aload 2 /* sof */
            ifnull 7
         6: .line 1239
            aload 2 /* sof */
            getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.numLines:I
            istore 1 /* retval */
         7: .line 1241
      StackMap locals: int com.sun.imageio.plugins.jpeg.SOFMarkerSegment
      StackMap stack:
            iload 1 /* retval */
            ireturn
        end local 2 // com.sun.imageio.plugins.jpeg.SOFMarkerSegment sof
        end local 1 // int retval
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            1    8     1  retval  I
            5    8     2     sof  Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;

  java.awt.image.BufferedImage getThumbnail(javax.imageio.stream.ImageInputStream, com.sun.imageio.plugins.jpeg.JPEGImageReader);
    descriptor: (Ljavax/imageio/stream/ImageInputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)Ljava/awt/image/BufferedImage;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
        start local 1 // javax.imageio.stream.ImageInputStream iis
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
         0: .line 1268
            aload 1 /* iis */
            invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
         1: .line 1269
            aload 1 /* iis */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.streamPos:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         2: .line 1270
            new com.sun.imageio.plugins.jpeg.JPEGImageReader
            dup
            aconst_null
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageReader.<init>:(Ljavax/imageio/spi/ImageReaderSpi;)V
            astore 3 /* thumbReader */
        start local 3 // com.sun.imageio.plugins.jpeg.JPEGImageReader thumbReader
         3: .line 1271
            aload 3 /* thumbReader */
            aload 1 /* iis */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setInput:(Ljava/lang/Object;)V
         4: .line 1272
            aload 3 /* thumbReader */
         5: .line 1273
            new com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG$ThumbnailReadListener
            dup
            aload 0 /* this */
            aload 2 /* reader */
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG$ThumbnailReadListener.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
         6: .line 1272
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.addIIOReadProgressListener:(Ljavax/imageio/event/IIOReadProgressListener;)V
         7: .line 1274
            aload 3 /* thumbReader */
            iconst_0
            aconst_null
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
            astore 4 /* ret */
        start local 4 // java.awt.image.BufferedImage ret
         8: .line 1275
            aload 3 /* thumbReader */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.dispose:()V
         9: .line 1276
            aload 1 /* iis */
            invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
        10: .line 1277
            aload 4 /* ret */
            areturn
        end local 4 // java.awt.image.BufferedImage ret
        end local 3 // com.sun.imageio.plugins.jpeg.JPEGImageReader thumbReader
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
        end local 1 // javax.imageio.stream.ImageInputStream iis
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            0   11     1          iis  Ljavax/imageio/stream/ImageInputStream;
            0   11     2       reader  Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
            3   11     3  thumbReader  Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
            8   11     4          ret  Ljava/awt/image/BufferedImage;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      iis     
      reader  

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1281
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb.clone:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG
            astore 1 /* newGuy */
        start local 1 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG newGuy
         1: .line 1282
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 3
         2: .line 1283
            aload 1 /* newGuy */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.clone:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
         3: .line 1285
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG
      StackMap stack:
            aload 1 /* newGuy */
            areturn
        end local 1 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG newGuy
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            1    4     1  newGuy  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;

  javax.imageio.metadata.IIOMetadataNode getNativeNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1289
            new javax.imageio.metadata.IIOMetadataNode
            dup
            ldc "JFIFthumbJPEG"
            invokespecial javax.imageio.metadata.IIOMetadataNode.<init>:(Ljava/lang/String;)V
            astore 1 /* node */
        start local 1 // javax.imageio.metadata.IIOMetadataNode node
         1: .line 1290
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            ifnull 3
         2: .line 1291
            aload 1 /* node */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.thumbMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.getNativeTree:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadataNode.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
         3: .line 1293
      StackMap locals: javax.imageio.metadata.IIOMetadataNode
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 1 // javax.imageio.metadata.IIOMetadataNode node
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            1    4     1  node  Ljavax/imageio/metadata/IIOMetadataNode;

  int getLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1297
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            ifnonnull 2
         1: .line 1298
            iconst_0
            ireturn
         2: .line 1300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            arraylength
            ireturn
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;

  void write(javax.imageio.stream.ImageOutputStream, com.sun.imageio.plugins.jpeg.JPEGImageWriter);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
        start local 1 // javax.imageio.stream.ImageOutputStream ios
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGImageWriter writer
         0: .line 1306
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            arraylength
            bipush 20
            idiv
            istore 3 /* progInterval */
        start local 3 // int progInterval
         1: .line 1307
            iload 3 /* progInterval */
            ifne 3
         2: .line 1308
            iconst_1
            istore 3 /* progInterval */
         3: .line 1310
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* offset */
        start local 4 // int offset
         4: .line 1311
            goto 12
         5: .line 1312
      StackMap locals: int
      StackMap stack:
            iload 3 /* progInterval */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            arraylength
            iload 4 /* offset */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* len */
        start local 5 // int len
         6: .line 1313
            aload 1 /* ios */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            iload 4 /* offset */
            iload 5 /* len */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
         7: .line 1314
            iload 4 /* offset */
            iload 3 /* progInterval */
            iadd
            istore 4 /* offset */
         8: .line 1315
            iload 4 /* offset */
            i2f
            ldc 100.0
            fmul
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            arraylength
            i2f
            fdiv
            fstore 6 /* percentDone */
        start local 6 // float percentDone
         9: .line 1316
            fload 6 /* percentDone */
            ldc 100.0
            fcmpl
            ifle 11
        10: .line 1317
            ldc 100.0
            fstore 6 /* percentDone */
        11: .line 1319
      StackMap locals: int float
      StackMap stack:
            aload 2 /* writer */
            fload 6 /* percentDone */
            invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnailProgress:(F)V
        end local 6 // float percentDone
        end local 5 // int len
        12: .line 1311
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG.data:[B
            arraylength
        13: .line 1310
            if_icmplt 5
        end local 4 // int offset
        14: .line 1321
            return
        end local 3 // int progInterval
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGImageWriter writer
        end local 1 // javax.imageio.stream.ImageOutputStream ios
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
            0   15     1           ios  Ljavax/imageio/stream/ImageOutputStream;
            0   15     2        writer  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            1   15     3  progInterval  I
            4   14     4        offset  I
            6   12     5           len  I
            9   12     6   percentDone  F
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      ios     
      writer  

  void print();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
         0: .line 1324
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JFIF thumbnail stored as JPEG"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 1325
            return
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbJPEG;
}
SourceFile: "JFIFMarkerSegment.java"
NestHost: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
InnerClasses:
  private IllegalThumbException = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
  abstract JFIFThumb = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumb of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
  JFIFThumbJPEG = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
  private ThumbnailReadListener = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG$ThumbnailReadListener of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbJPEG