public class sun.awt.image.OffScreenImageSource implements java.awt.image.ImageProducer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.OffScreenImageSource
  super_class: java.lang.Object
{
  java.awt.image.BufferedImage image;
    descriptor: Ljava/awt/image/BufferedImage;
    flags: (0x0000) 

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

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

  java.util.Hashtable properties;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0000) 

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

  public void <init>(java.awt.image.BufferedImage, java.util.Hashtable);
    descriptor: (Ljava/awt/image/BufferedImage;Ljava/util/Hashtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.BufferedImage image
        start local 2 // java.util.Hashtable properties
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* image */
            putfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
         2: .line 48
            aload 2 /* properties */
            ifnull 5
         3: .line 49
            aload 0 /* this */
            aload 2 /* properties */
            putfield sun.awt.image.OffScreenImageSource.properties:Ljava/util/Hashtable;
         4: .line 50
            goto 6
         5: .line 51
      StackMap locals: sun.awt.image.OffScreenImageSource java.awt.image.BufferedImage java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.awt.image.OffScreenImageSource.properties:Ljava/util/Hashtable;
         6: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            putfield sun.awt.image.OffScreenImageSource.width:I
         7: .line 54
            aload 0 /* this */
            aload 1 /* image */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            putfield sun.awt.image.OffScreenImageSource.height:I
         8: .line 55
            return
        end local 2 // java.util.Hashtable properties
        end local 1 // java.awt.image.BufferedImage image
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lsun/awt/image/OffScreenImageSource;
            0    9     1       image  Ljava/awt/image/BufferedImage;
            0    9     2  properties  Ljava/util/Hashtable;
    MethodParameters:
            Name  Flags
      image       
      properties  

  public void <init>(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.BufferedImage image
         0: .line 58
            aload 0 /* this */
            aload 1 /* image */
            aconst_null
            invokespecial sun.awt.image.OffScreenImageSource.<init>:(Ljava/awt/image/BufferedImage;Ljava/util/Hashtable;)V
         1: .line 59
            return
        end local 1 // java.awt.image.BufferedImage image
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/awt/image/OffScreenImageSource;
            0    2     1  image  Ljava/awt/image/BufferedImage;
    MethodParameters:
       Name  Flags
      image  

  public synchronized void addConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 65
            aload 0 /* this */
            aload 1 /* ic */
            putfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
         1: .line 66
            aload 0 /* this */
            invokevirtual sun.awt.image.OffScreenImageSource.produce:()V
         2: .line 67
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/OffScreenImageSource;
            0    3     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized boolean isConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 70
            aload 1 /* ic */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/image/OffScreenImageSource;
            0    2     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized void removeConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 74
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 1 /* ic */
            if_acmpne 2
         1: .line 75
            aload 0 /* this */
            aconst_null
            putfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
         2: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/OffScreenImageSource;
            0    3     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  public void startProduction(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 80
            aload 0 /* this */
            aload 1 /* ic */
            invokevirtual sun.awt.image.OffScreenImageSource.addConsumer:(Ljava/awt/image/ImageConsumer;)V
         1: .line 81
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/image/OffScreenImageSource;
            0    2     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  public void requestTopDownLeftRightResend(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.awt.image.OffScreenImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 84
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/OffScreenImageSource;
            0    1     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  private void sendPixels();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=1
        start local 0 // sun.awt.image.OffScreenImageSource this
         0: .line 87
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 1 /* cm */
        start local 1 // java.awt.image.ColorModel cm
         1: .line 88
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            astore 2 /* raster */
        start local 2 // java.awt.image.WritableRaster raster
         2: .line 89
            aload 2 /* raster */
            invokevirtual java.awt.image.WritableRaster.getNumDataElements:()I
            istore 3 /* numDataElements */
        start local 3 // int numDataElements
         3: .line 90
            aload 2 /* raster */
            invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            invokevirtual java.awt.image.DataBuffer.getDataType:()I
            istore 4 /* dataType */
        start local 4 // int dataType
         4: .line 91
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iload 3 /* numDataElements */
            imul
            newarray 10
            astore 5 /* scanline */
        start local 5 // int[] scanline
         5: .line 92
            iconst_1
            istore 6 /* needToCvt */
        start local 6 // boolean needToCvt
         6: .line 94
            aload 1 /* cm */
            instanceof java.awt.image.IndexColorModel
            ifeq 48
         7: .line 95
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            newarray 8
            astore 7 /* pixels */
        start local 7 // byte[] pixels
         8: .line 96
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 1 /* cm */
            invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
         9: .line 98
            aload 2 /* raster */
            instanceof sun.awt.image.ByteComponentRaster
            ifeq 20
        10: .line 99
            iconst_0
            istore 6 /* needToCvt */
        11: .line 100
            iconst_0
            istore 8 /* y */
        start local 8 // int y
        12: goto 18
        13: .line 101
      StackMap locals: sun.awt.image.OffScreenImageSource java.awt.image.ColorModel java.awt.image.WritableRaster int int int[] int byte[] int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 7 /* pixels */
            invokevirtual java.awt.image.WritableRaster.getDataElements:(IIIILjava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 102
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 7 /* pixels */
            iconst_0
        15: .line 103
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        16: .line 102
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[BII)V
        17: .line 100
            iinc 8 /* y */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 13
        end local 8 // int y
        19: .line 105
            goto 92
        20: .line 106
      StackMap locals:
      StackMap stack:
            aload 2 /* raster */
            instanceof sun.awt.image.BytePackedRaster
            ifeq 36
        21: .line 107
            iconst_0
            istore 6 /* needToCvt */
        22: .line 109
            iconst_0
            istore 8 /* y */
        start local 8 // int y
        23: goto 34
        24: .line 110
      StackMap locals: int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 5 /* scanline */
            invokevirtual java.awt.image.WritableRaster.getPixels:(IIII[I)[I
            pop
        25: .line 111
            iconst_0
            istore 9 /* x */
        start local 9 // int x
        26: goto 29
        27: .line 112
      StackMap locals: int
      StackMap stack:
            aload 7 /* pixels */
            iload 9 /* x */
            aload 5 /* scanline */
            iload 9 /* x */
            iaload
            i2b
            bastore
        28: .line 111
            iinc 9 /* x */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* x */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            if_icmplt 27
        end local 9 // int x
        30: .line 114
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 7 /* pixels */
            iconst_0
        31: .line 115
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        32: .line 114
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[BII)V
        33: .line 109
            iinc 8 /* y */ 1
      StackMap locals:
      StackMap stack:
        34: iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 24
        end local 8 // int y
        35: .line 117
            goto 92
        36: .line 118
      StackMap locals:
      StackMap stack:
            iload 4 /* dataType */
            iconst_2
            if_icmpeq 38
        37: .line 119
            iload 4 /* dataType */
            iconst_3
            if_icmpne 92
        38: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* needToCvt */
        39: .line 123
            iconst_0
            istore 8 /* y */
        start local 8 // int y
        40: goto 46
        41: .line 124
      StackMap locals: int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 5 /* scanline */
            invokevirtual java.awt.image.WritableRaster.getPixels:(IIII[I)[I
            pop
        42: .line 125
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 5 /* scanline */
            iconst_0
        43: .line 126
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        44: .line 125
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
        45: .line 123
            iinc 8 /* y */ 1
      StackMap locals:
      StackMap stack:
        46: iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 41
        end local 8 // int y
        end local 7 // byte[] pixels
        47: .line 129
            goto 92
        48: .line 130
      StackMap locals:
      StackMap stack:
            aload 1 /* cm */
            instanceof java.awt.image.DirectColorModel
            ifeq 92
        49: .line 131
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 1 /* cm */
            invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
        50: .line 132
            iconst_0
            istore 6 /* needToCvt */
        51: .line 133
            iload 4 /* dataType */
            tableswitch { // 0 - 3
                    0: 61
                    1: 76
                    2: 91
                    3: 52
              default: 91
          }
        52: .line 135
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* y */
        start local 7 // int y
        53: goto 59
        54: .line 136
      StackMap locals: int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 7 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 5 /* scanline */
            invokevirtual java.awt.image.WritableRaster.getDataElements:(IIIILjava/lang/Object;)Ljava/lang/Object;
            pop
        55: .line 137
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 7 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 5 /* scanline */
            iconst_0
        56: .line 138
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        57: .line 137
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
        58: .line 135
            iinc 7 /* y */ 1
      StackMap locals:
      StackMap stack:
        59: iload 7 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 54
        end local 7 // int y
        60: .line 140
            goto 92
        61: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            newarray 8
            astore 7 /* bscanline */
        start local 7 // byte[] bscanline
        62: .line 143
            iconst_0
            istore 8 /* y */
        start local 8 // int y
        63: goto 74
        64: .line 144
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 7 /* bscanline */
            invokevirtual java.awt.image.WritableRaster.getDataElements:(IIIILjava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 145
            iconst_0
            istore 9 /* x */
        start local 9 // int x
        66: goto 69
        67: .line 146
      StackMap locals: int
      StackMap stack:
            aload 5 /* scanline */
            iload 9 /* x */
            aload 7 /* bscanline */
            iload 9 /* x */
            baload
            sipush 255
            iand
            iastore
        68: .line 145
            iinc 9 /* x */ 1
      StackMap locals:
      StackMap stack:
        69: iload 9 /* x */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            if_icmplt 67
        end local 9 // int x
        70: .line 148
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 5 /* scanline */
            iconst_0
        71: .line 149
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        72: .line 148
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
        73: .line 143
            iinc 8 /* y */ 1
      StackMap locals:
      StackMap stack:
        74: iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 64
        end local 8 // int y
        75: .line 151
            goto 92
        end local 7 // byte[] bscanline
        76: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            newarray 9
            astore 8 /* sscanline */
        start local 8 // short[] sscanline
        77: .line 154
            iconst_0
            istore 9 /* y */
        start local 9 // int y
        78: goto 89
        79: .line 155
      StackMap locals: sun.awt.image.OffScreenImageSource java.awt.image.ColorModel java.awt.image.WritableRaster int int int[] int top short[] int
      StackMap stack:
            aload 2 /* raster */
            iconst_0
            iload 9 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 8 /* sscanline */
            invokevirtual java.awt.image.WritableRaster.getDataElements:(IIIILjava/lang/Object;)Ljava/lang/Object;
            pop
        80: .line 156
            iconst_0
            istore 10 /* x */
        start local 10 // int x
        81: goto 84
        82: .line 157
      StackMap locals: int
      StackMap stack:
            aload 5 /* scanline */
            iload 10 /* x */
            aload 8 /* sscanline */
            iload 10 /* x */
            saload
            ldc 65535
            iand
            iastore
        83: .line 156
            iinc 10 /* x */ 1
      StackMap locals:
      StackMap stack:
        84: iload 10 /* x */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            if_icmplt 82
        end local 10 // int x
        85: .line 159
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 9 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 1 /* cm */
            aload 5 /* scanline */
            iconst_0
        86: .line 160
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
        87: .line 159
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
        88: .line 154
            iinc 9 /* y */ 1
      StackMap locals:
      StackMap stack:
        89: iload 9 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 79
        end local 9 // int y
        90: .line 162
            goto 92
        end local 8 // short[] sscanline
        91: .line 164
      StackMap locals: sun.awt.image.OffScreenImageSource java.awt.image.ColorModel java.awt.image.WritableRaster int int int[] int
      StackMap stack:
            iconst_1
            istore 6 /* needToCvt */
        92: .line 168
      StackMap locals:
      StackMap stack:
            iload 6 /* needToCvt */
            ifeq 107
        93: .line 170
            invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
            astore 7 /* newcm */
        start local 7 // java.awt.image.ColorModel newcm
        94: .line 171
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 7 /* newcm */
            invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
        95: .line 173
            iconst_0
            istore 8 /* y */
        start local 8 // int y
        96: goto 106
        97: .line 174
      StackMap locals: java.awt.image.ColorModel int
      StackMap stack:
            iconst_0
            istore 9 /* x */
        start local 9 // int x
        98: goto 101
        99: .line 175
      StackMap locals: int
      StackMap stack:
            aload 5 /* scanline */
            iload 9 /* x */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
            iload 9 /* x */
            iload 8 /* y */
            invokevirtual java.awt.image.BufferedImage.getRGB:(II)I
            iastore
       100: .line 174
            iinc 9 /* x */ 1
      StackMap locals:
      StackMap stack:
       101: iload 9 /* x */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            if_icmplt 99
        end local 9 // int x
       102: .line 177
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_0
            iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
            iconst_1
            aload 7 /* newcm */
            aload 5 /* scanline */
            iconst_0
       103: .line 178
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.width:I
       104: .line 177
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
       105: .line 173
            iinc 8 /* y */ 1
      StackMap locals:
      StackMap stack:
       106: iload 8 /* y */
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.height:I
            if_icmplt 97
        end local 8 // int y
        end local 7 // java.awt.image.ColorModel newcm
       107: .line 181
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean needToCvt
        end local 5 // int[] scanline
        end local 4 // int dataType
        end local 3 // int numDataElements
        end local 2 // java.awt.image.WritableRaster raster
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  108     0             this  Lsun/awt/image/OffScreenImageSource;
            1  108     1               cm  Ljava/awt/image/ColorModel;
            2  108     2           raster  Ljava/awt/image/WritableRaster;
            3  108     3  numDataElements  I
            4  108     4         dataType  I
            5  108     5         scanline  [I
            6  108     6        needToCvt  Z
            8   47     7           pixels  [B
           12   19     8                y  I
           23   35     8                y  I
           26   30     9                x  I
           40   47     8                y  I
           53   60     7                y  I
           62   76     7        bscanline  [B
           63   75     8                y  I
           66   70     9                x  I
           77   91     8        sscanline  [S
           78   90     9                y  I
           81   85    10                x  I
           94  107     7            newcm  Ljava/awt/image/ColorModel;
           96  107     8                y  I
           98  102     9                x  I

  private void produce();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.image.OffScreenImageSource this
         0: .line 185
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.image:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            invokeinterface java.awt.image.ImageConsumer.setDimensions:(II)V
         1: .line 186
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.properties:Ljava/util/Hashtable;
            invokeinterface java.awt.image.ImageConsumer.setProperties:(Ljava/util/Hashtable;)V
         2: .line 187
            aload 0 /* this */
            invokevirtual sun.awt.image.OffScreenImageSource.sendPixels:()V
         3: .line 188
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_2
            invokeinterface java.awt.image.ImageConsumer.imageComplete:(I)V
         4: .line 189
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_3
            invokeinterface java.awt.image.ImageConsumer.imageComplete:(I)V
         5: .line 190
            goto 9
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
         6: pop
         7: .line 191
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            ifnull 9
         8: .line 192
            aload 0 /* this */
            getfield sun.awt.image.OffScreenImageSource.theConsumer:Ljava/awt/image/ImageConsumer;
            iconst_1
            invokeinterface java.awt.image.ImageConsumer.imageComplete:(I)V
         9: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.image.OffScreenImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/awt/image/OffScreenImageSource;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.NullPointerException
}
SourceFile: "OffScreenImageSource.java"