public class sun.awt.image.BufImgSurfaceData extends sun.java2d.SurfaceData
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.BufImgSurfaceData
  super_class: sun.java2d.SurfaceData
{
  java.awt.image.BufferedImage bufImg;
    descriptor: Ljava/awt/image/BufferedImage;
    flags: (0x0000) 

  private sun.awt.image.BufferedImageGraphicsConfig graphicsConfig;
    descriptor: Lsun/awt/image/BufferedImageGraphicsConfig;
    flags: (0x0002) ACC_PRIVATE

  sun.java2d.loops.RenderLoops solidloops;
    descriptor: Lsun/java2d/loops/RenderLoops;
    flags: (0x0000) 

  private static final int DCM_RGBX_RED_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -16777216

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static sun.java2d.loops.RenderLoops[] loopcache;
    descriptor: [Lsun/java2d/loops/RenderLoops;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.java2d.loops.SurfaceType[] typecache;
    descriptor: [Lsun/java2d/loops/SurfaceType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc Ljava/awt/image/IndexColorModel;
            ldc Lsun/awt/image/BufImgSurfaceData$ICMColorData;
            invokestatic sun.awt.image.BufImgSurfaceData.initIDs:(Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 363
            iconst_5
            anewarray sun.java2d.loops.RenderLoops
            putstatic sun.awt.image.BufImgSurfaceData.loopcache:[Lsun/java2d/loops/RenderLoops;
         2: .line 364
            iconst_5
            anewarray sun.java2d.loops.SurfaceType
            putstatic sun.awt.image.BufImgSurfaceData.typecache:[Lsun/java2d/loops/SurfaceType;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void initIDs(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
      ICM           
      ICMColorData  

  public static sun.java2d.SurfaceData createData(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // java.awt.image.BufferedImage bufImg
         0: .line 74
            aload 0 /* bufImg */
            ifnonnull 2
         1: .line 75
            new java.lang.NullPointerException
            dup
            ldc "BufferedImage cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 2 /* cm */
        start local 2 // java.awt.image.ColorModel cm
         3: .line 79
            aload 0 /* bufImg */
            invokevirtual java.awt.image.BufferedImage.getType:()I
            istore 3 /* type */
        start local 3 // int type
         4: .line 81
            iload 3 /* type */
            tableswitch { // 0 - 13
                    0: 51
                    1: 7
                    2: 9
                    3: 11
                    4: 5
                    5: 13
                    6: 15
                    7: 17
                    8: 19
                    9: 21
                   10: 36
                   11: 38
                   12: 40
                   13: 23
              default: 51
          }
         5: .line 83
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.IntBgr:Lsun/java2d/loops/SurfaceType;
            invokestatic sun.awt.image.BufImgSurfaceData.createDataIC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
         6: .line 84
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
         7: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.IntRgb:Lsun/java2d/loops/SurfaceType;
            invokestatic sun.awt.image.BufImgSurfaceData.createDataIC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
         8: .line 87
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
         9: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.IntArgb:Lsun/java2d/loops/SurfaceType;
            invokestatic sun.awt.image.BufImgSurfaceData.createDataIC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        10: .line 90
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        11: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.IntArgbPre:Lsun/java2d/loops/SurfaceType;
            invokestatic sun.awt.image.BufImgSurfaceData.createDataIC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        12: .line 93
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        13: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.ThreeByteBgr:Lsun/java2d/loops/SurfaceType;
            iconst_2
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        14: .line 96
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        15: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.FourByteAbgr:Lsun/java2d/loops/SurfaceType;
            iconst_3
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        16: .line 99
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        17: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.FourByteAbgrPre:Lsun/java2d/loops/SurfaceType;
            iconst_3
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        18: .line 102
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        19: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.Ushort565Rgb:Lsun/java2d/loops/SurfaceType;
            aconst_null
            invokestatic sun.awt.image.BufImgSurfaceData.createDataSC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/IndexColorModel;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        20: .line 105
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        21: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.Ushort555Rgb:Lsun/java2d/loops/SurfaceType;
            aconst_null
            invokestatic sun.awt.image.BufImgSurfaceData.createDataSC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/IndexColorModel;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        22: .line 108
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        23: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* cm */
            invokevirtual java.awt.image.ColorModel.getTransparency:()I
            tableswitch { // 1 - 3
                    1: 24
                    2: 29
                    3: 31
              default: 33
          }
        24: .line 114
      StackMap locals:
      StackMap stack:
            aload 2 /* cm */
            checkcast java.awt.image.IndexColorModel
            invokestatic sun.awt.image.BufImgSurfaceData.isOpaqueGray:(Ljava/awt/image/IndexColorModel;)Z
            ifeq 27
        25: .line 115
            getstatic sun.java2d.loops.SurfaceType.Index8Gray:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        26: .line 116
            goto 34
        end local 4 // sun.java2d.loops.SurfaceType sType
        27: .line 117
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteIndexedOpaque:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        28: .line 119
            goto 34
        end local 4 // sun.java2d.loops.SurfaceType sType
        29: .line 121
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteIndexedBm:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        30: .line 122
            goto 34
        end local 4 // sun.java2d.loops.SurfaceType sType
        31: .line 124
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteIndexed:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        32: .line 125
            goto 34
        end local 4 // sun.java2d.loops.SurfaceType sType
        33: .line 127
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "Unrecognized transparency"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // sun.java2d.loops.SurfaceType sType
        34: .line 129
      StackMap locals: sun.java2d.loops.SurfaceType
      StackMap stack:
            aload 0 /* bufImg */
            aload 4 /* sType */
            iconst_0
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        end local 4 // sun.java2d.loops.SurfaceType sType
        start local 1 // sun.java2d.SurfaceData sData
        35: .line 131
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        36: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.ByteGray:Lsun/java2d/loops/SurfaceType;
            iconst_0
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        37: .line 134
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        38: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.UshortGray:Lsun/java2d/loops/SurfaceType;
            aconst_null
            invokestatic sun.awt.image.BufImgSurfaceData.createDataSC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/IndexColorModel;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        39: .line 137
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        40: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            invokevirtual java.awt.image.WritableRaster.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 5 /* sm */
        start local 5 // java.awt.image.SampleModel sm
        41: .line 142
            aload 5 /* sm */
            iconst_0
            invokevirtual java.awt.image.SampleModel.getSampleSize:(I)I
            tableswitch { // 1 - 4
                    1: 42
                    2: 44
                    3: 48
                    4: 46
              default: 48
          }
        42: .line 144
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int top java.awt.image.SampleModel
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteBinary1Bit:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        43: .line 145
            goto 49
        end local 4 // sun.java2d.loops.SurfaceType sType
        44: .line 147
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteBinary2Bit:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        45: .line 148
            goto 49
        end local 4 // sun.java2d.loops.SurfaceType sType
        46: .line 150
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.ByteBinary4Bit:Lsun/java2d/loops/SurfaceType;
            astore 4 /* sType */
        start local 4 // sun.java2d.loops.SurfaceType sType
        47: .line 151
            goto 49
        end local 4 // sun.java2d.loops.SurfaceType sType
        48: .line 153
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "Unrecognized pixel size"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // sun.java2d.loops.SurfaceType sType
        49: .line 155
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int sun.java2d.loops.SurfaceType java.awt.image.SampleModel
      StackMap stack:
            aload 0 /* bufImg */
            aload 4 /* sType */
            invokestatic sun.awt.image.BufImgSurfaceData.createDataBP:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        end local 5 // java.awt.image.SampleModel sm
        end local 4 // sun.java2d.loops.SurfaceType sType
        start local 1 // sun.java2d.SurfaceData sData
        50: .line 157
            goto 119
        end local 1 // sun.java2d.SurfaceData sData
        51: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            astore 4 /* raster */
        start local 4 // java.awt.image.Raster raster
        52: .line 162
            aload 4 /* raster */
            invokevirtual java.awt.image.Raster.getNumBands:()I
            istore 5 /* numBands */
        start local 5 // int numBands
        53: .line 163
            aload 4 /* raster */
            instanceof sun.awt.image.IntegerComponentRaster
            ifeq 80
        54: .line 164
            aload 4 /* raster */
            invokevirtual java.awt.image.Raster.getNumDataElements:()I
            iconst_1
            if_icmpne 80
        55: .line 165
            aload 4 /* raster */
            checkcast sun.awt.image.IntegerComponentRaster
            invokevirtual sun.awt.image.IntegerComponentRaster.getPixelStride:()I
            iconst_1
            if_icmpne 80
        56: .line 167
            getstatic sun.java2d.loops.SurfaceType.AnyInt:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        start local 6 // sun.java2d.loops.SurfaceType sType
        57: .line 168
            aload 2 /* cm */
            instanceof java.awt.image.DirectColorModel
            ifeq 78
        58: .line 169
            aload 2 /* cm */
            checkcast java.awt.image.DirectColorModel
            astore 7 /* dcm */
        start local 7 // java.awt.image.DirectColorModel dcm
        59: .line 170
            aload 7 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getAlphaMask:()I
            istore 8 /* aMask */
        start local 8 // int aMask
        60: .line 171
            aload 7 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getRedMask:()I
            istore 9 /* rMask */
        start local 9 // int rMask
        61: .line 172
            aload 7 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getGreenMask:()I
            istore 10 /* gMask */
        start local 10 // int gMask
        62: .line 173
            aload 7 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getBlueMask:()I
            istore 11 /* bMask */
        start local 11 // int bMask
        63: .line 174
            iload 5 /* numBands */
            iconst_3
            if_icmpne 70
        64: .line 175
            iload 8 /* aMask */
            ifne 70
        65: .line 176
            iload 9 /* rMask */
            ldc -16777216
            if_icmpne 70
        66: .line 177
            iload 10 /* gMask */
            ldc 16711680
            if_icmpne 70
        67: .line 178
            iload 11 /* bMask */
            ldc 65280
            if_icmpne 70
        68: .line 180
            getstatic sun.java2d.loops.SurfaceType.IntRgbx:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        69: .line 181
            goto 78
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int java.awt.image.Raster int sun.java2d.loops.SurfaceType java.awt.image.DirectColorModel int int int int
      StackMap stack:
        70: iload 5 /* numBands */
            iconst_4
            if_icmpne 77
        71: .line 182
            iload 8 /* aMask */
            ldc 16777216
            if_icmpne 77
        72: .line 183
            iload 9 /* rMask */
            ldc 16711680
            if_icmpne 77
        73: .line 184
            iload 10 /* gMask */
            ldc 65280
            if_icmpne 77
        74: .line 185
            iload 11 /* bMask */
            sipush 255
            if_icmpne 77
        75: .line 187
            getstatic sun.java2d.loops.SurfaceType.IntArgbBm:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        76: .line 188
            goto 78
        77: .line 189
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.AnyDcm:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        end local 11 // int bMask
        end local 10 // int gMask
        end local 9 // int rMask
        end local 8 // int aMask
        end local 7 // java.awt.image.DirectColorModel dcm
        78: .line 192
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int java.awt.image.Raster int sun.java2d.loops.SurfaceType
      StackMap stack:
            aload 0 /* bufImg */
            aload 6 /* sType */
            invokestatic sun.awt.image.BufImgSurfaceData.createDataIC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
        79: .line 193
            goto 119
        end local 6 // sun.java2d.loops.SurfaceType sType
        end local 1 // sun.java2d.SurfaceData sData
        80: .line 194
      StackMap locals:
      StackMap stack:
            aload 4 /* raster */
            instanceof sun.awt.image.ShortComponentRaster
            ifeq 116
        81: .line 195
            aload 4 /* raster */
            invokevirtual java.awt.image.Raster.getNumDataElements:()I
            iconst_1
            if_icmpne 116
        82: .line 196
            aload 4 /* raster */
            checkcast sun.awt.image.ShortComponentRaster
            invokevirtual sun.awt.image.ShortComponentRaster.getPixelStride:()I
            iconst_1
            if_icmpne 116
        83: .line 198
            getstatic sun.java2d.loops.SurfaceType.AnyShort:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        start local 6 // sun.java2d.loops.SurfaceType sType
        84: .line 199
            aconst_null
            astore 7 /* icm */
        start local 7 // java.awt.image.IndexColorModel icm
        85: .line 200
            aload 2 /* cm */
            instanceof java.awt.image.DirectColorModel
            ifeq 105
        86: .line 201
            aload 2 /* cm */
            checkcast java.awt.image.DirectColorModel
            astore 8 /* dcm */
        start local 8 // java.awt.image.DirectColorModel dcm
        87: .line 202
            aload 8 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getAlphaMask:()I
            istore 9 /* aMask */
        start local 9 // int aMask
        88: .line 203
            aload 8 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getRedMask:()I
            istore 10 /* rMask */
        start local 10 // int rMask
        89: .line 204
            aload 8 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getGreenMask:()I
            istore 11 /* gMask */
        start local 11 // int gMask
        90: .line 205
            aload 8 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getBlueMask:()I
            istore 12 /* bMask */
        start local 12 // int bMask
        91: .line 206
            iload 5 /* numBands */
            iconst_3
            if_icmpne 98
        92: .line 207
            iload 9 /* aMask */
            ifne 98
        93: .line 208
            iload 10 /* rMask */
            ldc 63488
            if_icmpne 98
        94: .line 209
            iload 11 /* gMask */
            sipush 1984
            if_icmpne 98
        95: .line 210
            iload 12 /* bMask */
            bipush 62
            if_icmpne 98
        96: .line 212
            getstatic sun.java2d.loops.SurfaceType.Ushort555Rgbx:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        97: .line 213
            goto 114
        98: .line 214
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int java.awt.image.Raster int sun.java2d.loops.SurfaceType java.awt.image.IndexColorModel java.awt.image.DirectColorModel int int int int
      StackMap stack:
            iload 5 /* numBands */
            iconst_4
            if_icmpne 114
        99: .line 215
            iload 9 /* aMask */
            ldc 61440
            if_icmpne 114
       100: .line 216
            iload 10 /* rMask */
            sipush 3840
            if_icmpne 114
       101: .line 217
            iload 11 /* gMask */
            sipush 240
            if_icmpne 114
       102: .line 218
            iload 12 /* bMask */
            bipush 15
            if_icmpne 114
       103: .line 220
            getstatic sun.java2d.loops.SurfaceType.Ushort4444Argb:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
        end local 12 // int bMask
        end local 11 // int gMask
        end local 10 // int rMask
        end local 9 // int aMask
        end local 8 // java.awt.image.DirectColorModel dcm
       104: .line 222
            goto 114
      StackMap locals: java.awt.image.BufferedImage top java.awt.image.ColorModel int java.awt.image.Raster int sun.java2d.loops.SurfaceType java.awt.image.IndexColorModel
      StackMap stack:
       105: aload 2 /* cm */
            instanceof java.awt.image.IndexColorModel
            ifeq 114
       106: .line 223
            aload 2 /* cm */
            checkcast java.awt.image.IndexColorModel
            astore 7 /* icm */
       107: .line 224
            aload 7 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getPixelSize:()I
            bipush 12
            if_icmpne 113
       108: .line 225
            aload 7 /* icm */
            invokestatic sun.awt.image.BufImgSurfaceData.isOpaqueGray:(Ljava/awt/image/IndexColorModel;)Z
            ifeq 111
       109: .line 226
            getstatic sun.java2d.loops.SurfaceType.Index12Gray:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
       110: .line 227
            goto 114
       111: .line 228
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.UshortIndexed:Lsun/java2d/loops/SurfaceType;
            astore 6 /* sType */
       112: .line 230
            goto 114
       113: .line 231
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* icm */
       114: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* bufImg */
            aload 6 /* sType */
            aload 7 /* icm */
            invokestatic sun.awt.image.BufImgSurfaceData.createDataSC:(Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/IndexColorModel;)Lsun/java2d/SurfaceData;
            astore 1 /* sData */
        start local 1 // sun.java2d.SurfaceData sData
       115: .line 235
            goto 119
        end local 7 // java.awt.image.IndexColorModel icm
        end local 6 // sun.java2d.loops.SurfaceType sType
        end local 1 // sun.java2d.SurfaceData sData
       116: .line 237
      StackMap locals:
      StackMap stack:
            new sun.awt.image.BufImgSurfaceData
            dup
            aload 4 /* raster */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
       117: .line 238
            aload 0 /* bufImg */
            getstatic sun.java2d.loops.SurfaceType.Custom:Lsun/java2d/loops/SurfaceType;
       118: .line 237
            invokespecial sun.awt.image.BufImgSurfaceData.<init>:(Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
            astore 1 /* sData */
        end local 5 // int numBands
        end local 4 // java.awt.image.Raster raster
        start local 1 // sun.java2d.SurfaceData sData
       119: .line 242
      StackMap locals: java.awt.image.BufferedImage sun.java2d.SurfaceData java.awt.image.ColorModel int
      StackMap stack:
            aload 1 /* sData */
            checkcast sun.awt.image.BufImgSurfaceData
            invokevirtual sun.awt.image.BufImgSurfaceData.initSolidLoops:()V
       120: .line 243
            aload 1 /* sData */
            areturn
        end local 3 // int type
        end local 2 // java.awt.image.ColorModel cm
        end local 1 // sun.java2d.SurfaceData sData
        end local 0 // java.awt.image.BufferedImage bufImg
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0  121     0    bufImg  Ljava/awt/image/BufferedImage;
            6    7     1     sData  Lsun/java2d/SurfaceData;
            8    9     1     sData  Lsun/java2d/SurfaceData;
           10   11     1     sData  Lsun/java2d/SurfaceData;
           12   13     1     sData  Lsun/java2d/SurfaceData;
           14   15     1     sData  Lsun/java2d/SurfaceData;
           16   17     1     sData  Lsun/java2d/SurfaceData;
           18   19     1     sData  Lsun/java2d/SurfaceData;
           20   21     1     sData  Lsun/java2d/SurfaceData;
           22   23     1     sData  Lsun/java2d/SurfaceData;
           35   36     1     sData  Lsun/java2d/SurfaceData;
           37   38     1     sData  Lsun/java2d/SurfaceData;
           39   40     1     sData  Lsun/java2d/SurfaceData;
           50   51     1     sData  Lsun/java2d/SurfaceData;
           79   80     1     sData  Lsun/java2d/SurfaceData;
          115  116     1     sData  Lsun/java2d/SurfaceData;
          119  121     1     sData  Lsun/java2d/SurfaceData;
            3  121     2        cm  Ljava/awt/image/ColorModel;
            4  121     3      type  I
           26   27     4     sType  Lsun/java2d/loops/SurfaceType;
           28   29     4     sType  Lsun/java2d/loops/SurfaceType;
           30   31     4     sType  Lsun/java2d/loops/SurfaceType;
           32   33     4     sType  Lsun/java2d/loops/SurfaceType;
           34   35     4     sType  Lsun/java2d/loops/SurfaceType;
           43   44     4     sType  Lsun/java2d/loops/SurfaceType;
           45   46     4     sType  Lsun/java2d/loops/SurfaceType;
           47   48     4     sType  Lsun/java2d/loops/SurfaceType;
           49   50     4     sType  Lsun/java2d/loops/SurfaceType;
           41   50     5        sm  Ljava/awt/image/SampleModel;
           52  119     4    raster  Ljava/awt/image/Raster;
           53  119     5  numBands  I
           57   80     6     sType  Lsun/java2d/loops/SurfaceType;
           59   78     7       dcm  Ljava/awt/image/DirectColorModel;
           60   78     8     aMask  I
           61   78     9     rMask  I
           62   78    10     gMask  I
           63   78    11     bMask  I
           84  116     6     sType  Lsun/java2d/loops/SurfaceType;
           85  116     7       icm  Ljava/awt/image/IndexColorModel;
           87  104     8       dcm  Ljava/awt/image/DirectColorModel;
           88  104     9     aMask  I
           89  104    10     rMask  I
           90  104    11     gMask  I
           91  104    12     bMask  I
    MethodParameters:
        Name  Flags
      bufImg  

  public static sun.java2d.SurfaceData createData(java.awt.image.Raster, java.awt.image.ColorModel);
    descriptor: (Ljava/awt/image/Raster;Ljava/awt/image/ColorModel;)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.image.Raster ras
        start local 1 // java.awt.image.ColorModel cm
         0: .line 247
            new java.lang.InternalError
            dup
            ldc "SurfaceData not implemented for Raster/CM"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // java.awt.image.Raster ras
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ras  Ljava/awt/image/Raster;
            0    1     1    cm  Ljava/awt/image/ColorModel;
    MethodParameters:
      Name  Flags
      ras   
      cm    

  public static sun.java2d.SurfaceData createDataIC(java.awt.image.BufferedImage, sun.java2d.loops.SurfaceType);
    descriptor: (Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // java.awt.image.BufferedImage bImg
        start local 1 // sun.java2d.loops.SurfaceType sType
         0: .line 253
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            checkcast sun.awt.image.IntegerComponentRaster
         1: .line 252
            astore 2 /* icRaster */
        start local 2 // sun.awt.image.IntegerComponentRaster icRaster
         2: .line 255
            new sun.awt.image.BufImgSurfaceData
            dup
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            aload 0 /* bImg */
            aload 1 /* sType */
            invokespecial sun.awt.image.BufImgSurfaceData.<init>:(Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
         3: .line 254
            astore 3 /* bisd */
        start local 3 // sun.awt.image.BufImgSurfaceData bisd
         4: .line 256
            aload 3 /* bisd */
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getDataStorage:()[I
         5: .line 257
            aload 2 /* icRaster */
            iconst_0
            invokevirtual sun.awt.image.IntegerComponentRaster.getDataOffset:(I)I
            iconst_4
            imul
            iconst_0
         6: .line 258
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getWidth:()I
         7: .line 259
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getHeight:()I
         8: .line 260
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getPixelStride:()I
            iconst_4
            imul
         9: .line 261
            aload 2 /* icRaster */
            invokevirtual sun.awt.image.IntegerComponentRaster.getScanlineStride:()I
            iconst_4
            imul
        10: .line 262
            aconst_null
        11: .line 256
            invokevirtual sun.awt.image.BufImgSurfaceData.initRaster:(Ljava/lang/Object;IIIIIILjava/awt/image/IndexColorModel;)V
        12: .line 263
            aload 3 /* bisd */
            areturn
        end local 3 // sun.awt.image.BufImgSurfaceData bisd
        end local 2 // sun.awt.image.IntegerComponentRaster icRaster
        end local 1 // sun.java2d.loops.SurfaceType sType
        end local 0 // java.awt.image.BufferedImage bImg
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      bImg  Ljava/awt/image/BufferedImage;
            0   13     1     sType  Lsun/java2d/loops/SurfaceType;
            2   13     2  icRaster  Lsun/awt/image/IntegerComponentRaster;
            4   13     3      bisd  Lsun/awt/image/BufImgSurfaceData;
    MethodParameters:
       Name  Flags
      bImg   
      sType  

  public static sun.java2d.SurfaceData createDataSC(java.awt.image.BufferedImage, sun.java2d.loops.SurfaceType, java.awt.image.IndexColorModel);
    descriptor: (Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/IndexColorModel;)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // java.awt.image.BufferedImage bImg
        start local 1 // sun.java2d.loops.SurfaceType sType
        start local 2 // java.awt.image.IndexColorModel icm
         0: .line 270
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            checkcast sun.awt.image.ShortComponentRaster
         1: .line 269
            astore 3 /* scRaster */
        start local 3 // sun.awt.image.ShortComponentRaster scRaster
         2: .line 272
            new sun.awt.image.BufImgSurfaceData
            dup
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            aload 0 /* bImg */
            aload 1 /* sType */
            invokespecial sun.awt.image.BufImgSurfaceData.<init>:(Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
         3: .line 271
            astore 4 /* bisd */
        start local 4 // sun.awt.image.BufImgSurfaceData bisd
         4: .line 273
            aload 4 /* bisd */
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getDataStorage:()[S
         5: .line 274
            aload 3 /* scRaster */
            iconst_0
            invokevirtual sun.awt.image.ShortComponentRaster.getDataOffset:(I)I
            iconst_2
            imul
            iconst_0
         6: .line 275
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getWidth:()I
         7: .line 276
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getHeight:()I
         8: .line 277
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getPixelStride:()I
            iconst_2
            imul
         9: .line 278
            aload 3 /* scRaster */
            invokevirtual sun.awt.image.ShortComponentRaster.getScanlineStride:()I
            iconst_2
            imul
        10: .line 279
            aload 2 /* icm */
        11: .line 273
            invokevirtual sun.awt.image.BufImgSurfaceData.initRaster:(Ljava/lang/Object;IIIIIILjava/awt/image/IndexColorModel;)V
        12: .line 280
            aload 4 /* bisd */
            areturn
        end local 4 // sun.awt.image.BufImgSurfaceData bisd
        end local 3 // sun.awt.image.ShortComponentRaster scRaster
        end local 2 // java.awt.image.IndexColorModel icm
        end local 1 // sun.java2d.loops.SurfaceType sType
        end local 0 // java.awt.image.BufferedImage bImg
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      bImg  Ljava/awt/image/BufferedImage;
            0   13     1     sType  Lsun/java2d/loops/SurfaceType;
            0   13     2       icm  Ljava/awt/image/IndexColorModel;
            2   13     3  scRaster  Lsun/awt/image/ShortComponentRaster;
            4   13     4      bisd  Lsun/awt/image/BufImgSurfaceData;
    MethodParameters:
       Name  Flags
      bImg   
      sType  
      icm    

  public static sun.java2d.SurfaceData createDataBC(java.awt.image.BufferedImage, sun.java2d.loops.SurfaceType, int);
    descriptor: (Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;I)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=3
        start local 0 // java.awt.image.BufferedImage bImg
        start local 1 // sun.java2d.loops.SurfaceType sType
        start local 2 // int primaryBank
         0: .line 287
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            checkcast sun.awt.image.ByteComponentRaster
         1: .line 286
            astore 3 /* bcRaster */
        start local 3 // sun.awt.image.ByteComponentRaster bcRaster
         2: .line 289
            new sun.awt.image.BufImgSurfaceData
            dup
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            aload 0 /* bImg */
            aload 1 /* sType */
            invokespecial sun.awt.image.BufImgSurfaceData.<init>:(Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
         3: .line 288
            astore 4 /* bisd */
        start local 4 // sun.awt.image.BufImgSurfaceData bisd
         4: .line 290
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 5 /* cm */
        start local 5 // java.awt.image.ColorModel cm
         5: .line 291
            aload 5 /* cm */
            instanceof java.awt.image.IndexColorModel
            ifeq 7
         6: .line 292
            aload 5 /* cm */
            checkcast java.awt.image.IndexColorModel
            goto 8
         7: .line 293
      StackMap locals: sun.awt.image.ByteComponentRaster sun.awt.image.BufImgSurfaceData java.awt.image.ColorModel
      StackMap stack:
            aconst_null
         8: .line 291
      StackMap locals:
      StackMap stack: java.awt.image.IndexColorModel
            astore 6 /* icm */
        start local 6 // java.awt.image.IndexColorModel icm
         9: .line 294
            aload 4 /* bisd */
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
        10: .line 295
            aload 3 /* bcRaster */
            iload 2 /* primaryBank */
            invokevirtual sun.awt.image.ByteComponentRaster.getDataOffset:(I)I
            iconst_0
        11: .line 296
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getWidth:()I
        12: .line 297
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getHeight:()I
        13: .line 298
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getPixelStride:()I
        14: .line 299
            aload 3 /* bcRaster */
            invokevirtual sun.awt.image.ByteComponentRaster.getScanlineStride:()I
        15: .line 300
            aload 6 /* icm */
        16: .line 294
            invokevirtual sun.awt.image.BufImgSurfaceData.initRaster:(Ljava/lang/Object;IIIIIILjava/awt/image/IndexColorModel;)V
        17: .line 301
            aload 4 /* bisd */
            areturn
        end local 6 // java.awt.image.IndexColorModel icm
        end local 5 // java.awt.image.ColorModel cm
        end local 4 // sun.awt.image.BufImgSurfaceData bisd
        end local 3 // sun.awt.image.ByteComponentRaster bcRaster
        end local 2 // int primaryBank
        end local 1 // sun.java2d.loops.SurfaceType sType
        end local 0 // java.awt.image.BufferedImage bImg
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         bImg  Ljava/awt/image/BufferedImage;
            0   18     1        sType  Lsun/java2d/loops/SurfaceType;
            0   18     2  primaryBank  I
            2   18     3     bcRaster  Lsun/awt/image/ByteComponentRaster;
            4   18     4         bisd  Lsun/awt/image/BufImgSurfaceData;
            5   18     5           cm  Ljava/awt/image/ColorModel;
            9   18     6          icm  Ljava/awt/image/IndexColorModel;
    MethodParameters:
             Name  Flags
      bImg         
      sType        
      primaryBank  

  public static sun.java2d.SurfaceData createDataBP(java.awt.image.BufferedImage, sun.java2d.loops.SurfaceType);
    descriptor: (Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/SurfaceData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // java.awt.image.BufferedImage bImg
        start local 1 // sun.java2d.loops.SurfaceType sType
         0: .line 307
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            checkcast sun.awt.image.BytePackedRaster
         1: .line 306
            astore 2 /* bpRaster */
        start local 2 // sun.awt.image.BytePackedRaster bpRaster
         2: .line 309
            new sun.awt.image.BufImgSurfaceData
            dup
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            aload 0 /* bImg */
            aload 1 /* sType */
            invokespecial sun.awt.image.BufImgSurfaceData.<init>:(Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
         3: .line 308
            astore 3 /* bisd */
        start local 3 // sun.awt.image.BufImgSurfaceData bisd
         4: .line 310
            aload 0 /* bImg */
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 4 /* cm */
        start local 4 // java.awt.image.ColorModel cm
         5: .line 311
            aload 4 /* cm */
            instanceof java.awt.image.IndexColorModel
            ifeq 7
         6: .line 312
            aload 4 /* cm */
            checkcast java.awt.image.IndexColorModel
            goto 8
         7: .line 313
      StackMap locals: sun.awt.image.BytePackedRaster sun.awt.image.BufImgSurfaceData java.awt.image.ColorModel
      StackMap stack:
            aconst_null
         8: .line 311
      StackMap locals:
      StackMap stack: java.awt.image.IndexColorModel
            astore 5 /* icm */
        start local 5 // java.awt.image.IndexColorModel icm
         9: .line 314
            aload 3 /* bisd */
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getDataStorage:()[B
        10: .line 315
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getDataBitOffset:()I
            bipush 8
            idiv
        11: .line 316
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getDataBitOffset:()I
            bipush 7
            iand
        12: .line 317
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getWidth:()I
        13: .line 318
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getHeight:()I
        14: .line 319
            iconst_0
        15: .line 320
            aload 2 /* bpRaster */
            invokevirtual sun.awt.image.BytePackedRaster.getScanlineStride:()I
        16: .line 321
            aload 5 /* icm */
        17: .line 314
            invokevirtual sun.awt.image.BufImgSurfaceData.initRaster:(Ljava/lang/Object;IIIIIILjava/awt/image/IndexColorModel;)V
        18: .line 322
            aload 3 /* bisd */
            areturn
        end local 5 // java.awt.image.IndexColorModel icm
        end local 4 // java.awt.image.ColorModel cm
        end local 3 // sun.awt.image.BufImgSurfaceData bisd
        end local 2 // sun.awt.image.BytePackedRaster bpRaster
        end local 1 // sun.java2d.loops.SurfaceType sType
        end local 0 // java.awt.image.BufferedImage bImg
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      bImg  Ljava/awt/image/BufferedImage;
            0   19     1     sType  Lsun/java2d/loops/SurfaceType;
            2   19     2  bpRaster  Lsun/awt/image/BytePackedRaster;
            4   19     3      bisd  Lsun/awt/image/BufImgSurfaceData;
            5   19     4        cm  Ljava/awt/image/ColorModel;
            9   19     5       icm  Ljava/awt/image/IndexColorModel;
    MethodParameters:
       Name  Flags
      bImg   
      sType  

  public sun.java2d.loops.RenderLoops getRenderLoops(sun.java2d.SunGraphics2D);
    descriptor: (Lsun/java2d/SunGraphics2D;)Lsun/java2d/loops/RenderLoops;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.BufImgSurfaceData this
        start local 1 // sun.java2d.SunGraphics2D sg2d
         0: .line 326
            aload 1 /* sg2d */
            getfield sun.java2d.SunGraphics2D.paintState:I
            iconst_1
            if_icmpgt 3
         1: .line 327
            aload 1 /* sg2d */
            getfield sun.java2d.SunGraphics2D.compositeState:I
            iconst_0
            if_icmpgt 3
         2: .line 329
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.solidloops:Lsun/java2d/loops/RenderLoops;
            areturn
         3: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sg2d */
            invokespecial sun.java2d.SurfaceData.getRenderLoops:(Lsun/java2d/SunGraphics2D;)Lsun/java2d/loops/RenderLoops;
            areturn
        end local 1 // sun.java2d.SunGraphics2D sg2d
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/image/BufImgSurfaceData;
            0    4     1  sg2d  Lsun/java2d/SunGraphics2D;
    MethodParameters:
      Name  Flags
      sg2d  

  public java.awt.image.Raster getRaster(int, int, int, int);
    descriptor: (IIII)Ljava/awt/image/Raster;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // sun.awt.image.BufImgSurfaceData this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
         0: .line 335
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
            areturn
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/BufImgSurfaceData;
            0    1     1     x  I
            0    1     2     y  I
            0    1     3     w  I
            0    1     4     h  I
    MethodParameters:
      Name  Flags
      x     
      y     
      w     
      h     

  protected native void initRaster(java.lang.Object, int, int, int, int, int, int, java.awt.image.IndexColorModel);
    descriptor: (Ljava/lang/Object;IIIIIILjava/awt/image/IndexColorModel;)V
    flags: (0x0104) ACC_PROTECTED, ACC_NATIVE
    MethodParameters:
           Name  Flags
      theArray   
      offset     
      bitoffset  
      width      
      height     
      pixStr     
      scanStr    
      icm        

  public void <init>(java.awt.image.DataBuffer, java.awt.image.BufferedImage, sun.java2d.loops.SurfaceType);
    descriptor: (Ljava/awt/image/DataBuffer;Ljava/awt/image/BufferedImage;Lsun/java2d/loops/SurfaceType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.awt.image.BufImgSurfaceData this
        start local 1 // java.awt.image.DataBuffer db
        start local 2 // java.awt.image.BufferedImage bufImg
        start local 3 // sun.java2d.loops.SurfaceType sType
         0: .line 353
            aload 0 /* this */
            aload 1 /* db */
            invokestatic sun.awt.image.SunWritableRaster.stealTrackable:(Ljava/awt/image/DataBuffer;)Lsun/java2d/StateTrackableDelegate;
         1: .line 354
            aload 3 /* sType */
            aload 2 /* bufImg */
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokespecial sun.java2d.SurfaceData.<init>:(Lsun/java2d/StateTrackableDelegate;Lsun/java2d/loops/SurfaceType;Ljava/awt/image/ColorModel;)V
         2: .line 355
            aload 0 /* this */
            aload 2 /* bufImg */
            putfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
         3: .line 356
            return
        end local 3 // sun.java2d.loops.SurfaceType sType
        end local 2 // java.awt.image.BufferedImage bufImg
        end local 1 // java.awt.image.DataBuffer db
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/awt/image/BufImgSurfaceData;
            0    4     1      db  Ljava/awt/image/DataBuffer;
            0    4     2  bufImg  Ljava/awt/image/BufferedImage;
            0    4     3   sType  Lsun/java2d/loops/SurfaceType;
    MethodParameters:
        Name  Flags
      db      
      bufImg  
      sType   

  public void initSolidLoops();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 359
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.image.BufImgSurfaceData.getSurfaceType:()Lsun/java2d/loops/SurfaceType;
            invokestatic sun.awt.image.BufImgSurfaceData.getSolidLoops:(Lsun/java2d/loops/SurfaceType;)Lsun/java2d/loops/RenderLoops;
            putfield sun.awt.image.BufImgSurfaceData.solidloops:Lsun/java2d/loops/RenderLoops;
         1: .line 360
            return
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/image/BufImgSurfaceData;

  public static synchronized sun.java2d.loops.RenderLoops getSolidLoops(sun.java2d.loops.SurfaceType);
    descriptor: (Lsun/java2d/loops/SurfaceType;)Lsun/java2d/loops/RenderLoops;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.java2d.loops.SurfaceType type
         0: .line 366
            iconst_4
            istore 1 /* i */
        start local 1 // int i
         1: goto 8
         2: .line 367
      StackMap locals: int
      StackMap stack:
            getstatic sun.awt.image.BufImgSurfaceData.typecache:[Lsun/java2d/loops/SurfaceType;
            iload 1 /* i */
            aaload
            astore 2 /* t */
        start local 2 // sun.java2d.loops.SurfaceType t
         3: .line 368
            aload 2 /* t */
            aload 0 /* type */
            if_acmpne 5
         4: .line 369
            getstatic sun.awt.image.BufImgSurfaceData.loopcache:[Lsun/java2d/loops/RenderLoops;
            iload 1 /* i */
            aaload
            areturn
         5: .line 370
      StackMap locals: sun.java2d.loops.SurfaceType
      StackMap stack:
            aload 2 /* t */
            ifnonnull 7
         6: .line 371
            goto 9
        end local 2 // sun.java2d.loops.SurfaceType t
         7: .line 366
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            ifge 2
        end local 1 // int i
         9: .line 374
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.loops.SurfaceType.OpaqueColor:Lsun/java2d/loops/SurfaceType;
        10: .line 375
            getstatic sun.java2d.loops.CompositeType.SrcNoEa:Lsun/java2d/loops/CompositeType;
        11: .line 376
            aload 0 /* type */
        12: .line 374
            invokestatic sun.awt.image.BufImgSurfaceData.makeRenderLoops:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)Lsun/java2d/loops/RenderLoops;
            astore 1 /* l */
        start local 1 // sun.java2d.loops.RenderLoops l
        13: .line 377
            getstatic sun.awt.image.BufImgSurfaceData.loopcache:[Lsun/java2d/loops/RenderLoops;
            iconst_1
            getstatic sun.awt.image.BufImgSurfaceData.loopcache:[Lsun/java2d/loops/RenderLoops;
            iconst_0
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 378
            getstatic sun.awt.image.BufImgSurfaceData.typecache:[Lsun/java2d/loops/SurfaceType;
            iconst_1
            getstatic sun.awt.image.BufImgSurfaceData.typecache:[Lsun/java2d/loops/SurfaceType;
            iconst_0
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 379
            getstatic sun.awt.image.BufImgSurfaceData.loopcache:[Lsun/java2d/loops/RenderLoops;
            iconst_4
            aload 1 /* l */
            aastore
        16: .line 380
            getstatic sun.awt.image.BufImgSurfaceData.typecache:[Lsun/java2d/loops/SurfaceType;
            iconst_4
            aload 0 /* type */
            aastore
        17: .line 381
            aload 1 /* l */
            areturn
        end local 1 // sun.java2d.loops.RenderLoops l
        end local 0 // sun.java2d.loops.SurfaceType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  type  Lsun/java2d/loops/SurfaceType;
            1    9     1     i  I
            3    7     2     t  Lsun/java2d/loops/SurfaceType;
           13   18     1     l  Lsun/java2d/loops/RenderLoops;
    MethodParameters:
      Name  Flags
      type  

  public sun.java2d.SurfaceData getReplacement();
    descriptor: ()Lsun/java2d/SurfaceData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 387
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            invokestatic sun.awt.image.BufImgSurfaceData.restoreContents:(Ljava/awt/Image;)Lsun/java2d/SurfaceData;
            areturn
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/BufImgSurfaceData;

  public synchronized java.awt.GraphicsConfiguration getDeviceConfiguration();
    descriptor: ()Ljava/awt/GraphicsConfiguration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 391
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.graphicsConfig:Lsun/awt/image/BufferedImageGraphicsConfig;
            ifnonnull 2
         1: .line 392
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            invokestatic sun.awt.image.BufferedImageGraphicsConfig.getConfig:(Ljava/awt/image/BufferedImage;)Lsun/awt/image/BufferedImageGraphicsConfig;
            putfield sun.awt.image.BufImgSurfaceData.graphicsConfig:Lsun/awt/image/BufferedImageGraphicsConfig;
         2: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.graphicsConfig:Lsun/awt/image/BufferedImageGraphicsConfig;
            areturn
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/BufImgSurfaceData;

  public java.awt.Rectangle getBounds();
    descriptor: ()Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 398
            new java.awt.Rectangle
            dup
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            invokespecial java.awt.Rectangle.<init>:(II)V
            areturn
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/BufImgSurfaceData;

  protected void checkCustomComposite();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 404
            return
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/BufImgSurfaceData;

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

  public java.lang.Object getDestination();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.image.BufImgSurfaceData this
         0: .line 412
            aload 0 /* this */
            getfield sun.awt.image.BufImgSurfaceData.bufImg:Ljava/awt/image/BufferedImage;
            areturn
        end local 0 // sun.awt.image.BufImgSurfaceData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/BufImgSurfaceData;
}
SourceFile: "BufImgSurfaceData.java"
NestMembers:
  sun.awt.image.BufImgSurfaceData$ICMColorData
InnerClasses:
  public final ICMColorData = sun.awt.image.BufImgSurfaceData$ICMColorData of sun.awt.image.BufImgSurfaceData