abstract class com.sun.prism.impl.paint.MultipleGradientContext
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.prism.impl.paint.MultipleGradientContext
  super_class: java.lang.Object
{
  protected int cycleMethod;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected float a00;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a01;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a10;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a11;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a02;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float a12;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

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

  protected int fastGradientArraySize;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int[] gradient;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

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

  private float[] normalizedIntervals;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private float[] fractions;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  protected void <init>(com.sun.prism.paint.Gradient, com.sun.javafx.geom.transform.BaseTransform, float[], com.sun.prism.paint.Color[], int);
    descriptor: (Lcom/sun/prism/paint/Gradient;Lcom/sun/javafx/geom/transform/BaseTransform;[F[Lcom/sun/prism/paint/Color;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // com.sun.prism.paint.Gradient mgp
        start local 2 // com.sun.javafx.geom.transform.BaseTransform t
        start local 3 // float[] fractions
        start local 4 // com.sun.prism.paint.Color[] colors
        start local 5 // int cycleMethod
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 108
            aload 2 /* t */
            ifnonnull 3
         2: .line 109
            new java.lang.NullPointerException
            dup
            ldc "Transform cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 118
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform float[] com.sun.prism.paint.Color[] int
      StackMap stack:
            aload 2 /* t */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.createInverse:()Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 6 /* tInv */
        start local 6 // com.sun.javafx.geom.transform.BaseTransform tInv
         4: .line 119
            goto 7
        end local 6 // com.sun.javafx.geom.transform.BaseTransform tInv
      StackMap locals:
      StackMap stack: com.sun.javafx.geom.transform.NoninvertibleTransformException
         5: pop
         6: .line 122
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 6 /* tInv */
        start local 6 // com.sun.javafx.geom.transform.BaseTransform tInv
         7: .line 124
      StackMap locals: com.sun.javafx.geom.transform.BaseTransform
      StackMap stack:
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a00:F
         8: .line 125
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a10:F
         9: .line 126
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a01:F
        10: .line 127
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a11:F
        11: .line 128
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a02:F
        12: .line 129
            aload 0 /* this */
            aload 6 /* tInv */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
            d2f
            putfield com.sun.prism.impl.paint.MultipleGradientContext.a12:F
        13: .line 132
            aload 0 /* this */
            iload 5 /* cycleMethod */
            putfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
        14: .line 135
            aload 0 /* this */
            aload 3 /* fractions */
            putfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
        15: .line 137
            aload 0 /* this */
            aload 4 /* colors */
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateLookupData:([Lcom/sun/prism/paint/Color;)V
        16: .line 173
            return
        end local 6 // com.sun.javafx.geom.transform.BaseTransform tInv
        end local 5 // int cycleMethod
        end local 4 // com.sun.prism.paint.Color[] colors
        end local 3 // float[] fractions
        end local 2 // com.sun.javafx.geom.transform.BaseTransform t
        end local 1 // com.sun.prism.paint.Gradient mgp
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   17     1          mgp  Lcom/sun/prism/paint/Gradient;
            0   17     2            t  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   17     3    fractions  [F
            0   17     4       colors  [Lcom/sun/prism/paint/Color;
            0   17     5  cycleMethod  I
            4    5     6         tInv  Lcom/sun/javafx/geom/transform/BaseTransform;
            7   17     6         tInv  Lcom/sun/javafx/geom/transform/BaseTransform;
      Exception table:
        from    to  target  type
           3     4       5  Class com.sun.javafx.geom.transform.NoninvertibleTransformException
    MethodParameters:
             Name  Flags
      mgp          
      t            
      fractions    
      colors       
      cycleMethod  

  private void calculateLookupData(com.sun.prism.paint.Color[]);
    descriptor: ([Lcom/sun/prism/paint/Color;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // com.sun.prism.paint.Color[] colors
         0: .line 181
            aload 1 /* colors */
            astore 2 /* normalizedColors */
        start local 2 // com.sun.prism.paint.Color[] normalizedColors
         1: .line 184
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            arraylength
            iconst_1
            isub
            newarray 6
            putfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
         2: .line 187
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 189
      StackMap locals: com.sun.prism.paint.Color[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            iload 3 /* i */
            faload
            fsub
            fastore
         5: .line 187
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 193
            aload 0 /* this */
            ldc -16777216
            putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
         8: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            arraylength
            anewarray int[]
            putfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
         9: .line 199
            fconst_1
            fstore 3 /* Imin */
        start local 3 // float Imin
        10: .line 200
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 17
        12: .line 201
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] com.sun.prism.paint.Color[] float int
      StackMap stack:
            fload 3 /* Imin */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 4 /* i */
            faload
            fcmpl
            ifle 14
        13: .line 202
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 4 /* i */
            faload
            goto 15
      StackMap locals:
      StackMap stack:
        14: fload 3 /* Imin */
        15: .line 201
      StackMap locals:
      StackMap stack: float
            fstore 3 /* Imin */
        16: .line 200
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            arraylength
            if_icmplt 12
        end local 4 // int i
        18: .line 210
            fconst_0
            fstore 4 /* estimatedSize */
        start local 4 // float estimatedSize
        19: .line 211
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 23
        21: .line 213
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] com.sun.prism.paint.Color[] float float int
      StackMap stack:
            fload 4 /* estimatedSize */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 5 /* i */
            faload
            fload 3 /* Imin */
            fdiv
            ldc 256.0
            fmul
            fadd
            fstore 4 /* estimatedSize */
        22: .line 212
            iinc 5 /* i */ 1
        23: .line 211
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            arraylength
            if_icmpge 25
        24: .line 212
            fload 4 /* estimatedSize */
            invokestatic java.lang.Float.isFinite:(F)Z
            ifne 21
        end local 5 // int i
        25: .line 216
      StackMap locals:
      StackMap stack:
            fload 4 /* estimatedSize */
            ldc 5000.0
            fcmpg
            ifgt 28
        26: .line 218
            aload 0 /* this */
            aload 2 /* normalizedColors */
            fload 3 /* Imin */
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateSingleArrayGradient:([Lcom/sun/prism/paint/Color;F)V
        27: .line 219
            goto 29
        28: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* normalizedColors */
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateMultipleArrayGradient:([Lcom/sun/prism/paint/Color;)V
        29: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 4 // float estimatedSize
        end local 3 // float Imin
        end local 2 // com.sun.prism.paint.Color[] normalizedColors
        end local 1 // com.sun.prism.paint.Color[] colors
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0              this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   30     1            colors  [Lcom/sun/prism/paint/Color;
            1   30     2  normalizedColors  [Lcom/sun/prism/paint/Color;
            3    7     3                 i  I
           10   30     3              Imin  F
           11   18     4                 i  I
           19   30     4     estimatedSize  F
           20   25     5                 i  I
    MethodParameters:
        Name  Flags
      colors  

  private void calculateSingleArrayGradient(com.sun.prism.paint.Color[], float);
    descriptor: ([Lcom/sun/prism/paint/Color;F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // com.sun.prism.paint.Color[] colors
        start local 2 // float Imin
         0: .line 251
            aload 0 /* this */
            iconst_1
            putfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
         1: .line 257
            iconst_1
            istore 5 /* gradientsTot */
        start local 5 // int gradientsTot
         2: .line 260
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 13
         4: .line 263
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] float top top int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 6 /* i */
            faload
            fload 2 /* Imin */
            fdiv
            ldc 255.0
            fmul
            f2i
            istore 7 /* nGradients */
        start local 7 // int nGradients
         5: .line 264
            iload 5 /* gradientsTot */
            iload 7 /* nGradients */
            iadd
            istore 5 /* gradientsTot */
         6: .line 265
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 6 /* i */
            iload 7 /* nGradients */
            newarray 10
            aastore
         7: .line 268
            aload 1 /* colors */
            iload 6 /* i */
            aaload
            invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
            istore 3 /* rgb1 */
        start local 3 // int rgb1
         8: .line 269
            aload 1 /* colors */
            iload 6 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
            istore 4 /* rgb2 */
        start local 4 // int rgb2
         9: .line 272
            aload 0 /* this */
            iload 3 /* rgb1 */
            iload 4 /* rgb2 */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 6 /* i */
            aaload
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.interpolate:(II[I)V
        10: .line 276
            aload 0 /* this */
            dup
            getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
            iload 3 /* rgb1 */
            iand
            putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
        11: .line 277
            aload 0 /* this */
            dup
            getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
            iload 4 /* rgb2 */
            iand
            putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
        end local 7 // int nGradients
        12: .line 260
            iinc 6 /* i */ 1
        end local 4 // int rgb2
        end local 3 // int rgb1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            arraylength
            if_icmplt 4
        end local 6 // int i
        14: .line 281
            aload 0 /* this */
            iload 5 /* gradientsTot */
            newarray 10
            putfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
        15: .line 282
            iconst_0
            istore 6 /* curOffset */
        start local 6 // int curOffset
        16: .line 283
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 23
        18: .line 284
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 7 /* i */
            aaload
            iconst_0
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
        19: .line 285
            iload 6 /* curOffset */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 7 /* i */
            aaload
            arraylength
        20: .line 284
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 286
            iload 6 /* curOffset */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 7 /* i */
            aaload
            arraylength
            iadd
            istore 6 /* curOffset */
        22: .line 283
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            arraylength
            if_icmplt 18
        end local 7 // int i
        24: .line 288
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
            arraylength
            iconst_1
            isub
            aload 1 /* colors */
            aload 1 /* colors */
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
            iastore
        25: .line 290
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
            arraylength
            iconst_1
            isub
            putfield com.sun.prism.impl.paint.MultipleGradientContext.fastGradientArraySize:I
        26: .line 291
            return
        end local 6 // int curOffset
        end local 5 // int gradientsTot
        end local 2 // float Imin
        end local 1 // com.sun.prism.paint.Color[] colors
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   27     1        colors  [Lcom/sun/prism/paint/Color;
            0   27     2          Imin  F
            8   13     3          rgb1  I
            9   13     4          rgb2  I
            2   27     5  gradientsTot  I
            3   14     6             i  I
            5   12     7    nGradients  I
           16   27     6     curOffset  I
           17   24     7             i  I
    MethodParameters:
        Name  Flags
      colors  
      Imin    

  private void calculateMultipleArrayGradient(com.sun.prism.paint.Color[]);
    descriptor: ([Lcom/sun/prism/paint/Color;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // com.sun.prism.paint.Color[] colors
         0: .line 313
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
         1: .line 319
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 10
         3: .line 322
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] top top int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 4 /* i */
            sipush 256
            newarray 10
            aastore
         4: .line 325
            aload 1 /* colors */
            iload 4 /* i */
            aaload
            invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
            istore 2 /* rgb1 */
        start local 2 // int rgb1
         5: .line 326
            aload 1 /* colors */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
            istore 3 /* rgb2 */
        start local 3 // int rgb2
         6: .line 329
            aload 0 /* this */
            iload 2 /* rgb1 */
            iload 3 /* rgb2 */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 4 /* i */
            aaload
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.interpolate:(II[I)V
         7: .line 333
            aload 0 /* this */
            dup
            getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
            iload 2 /* rgb1 */
            iand
            putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
         8: .line 334
            aload 0 /* this */
            dup
            getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
            iload 3 /* rgb2 */
            iand
            putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
         9: .line 319
            iinc 4 /* i */ 1
        end local 3 // int rgb2
        end local 2 // int rgb1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            arraylength
            if_icmplt 3
        end local 4 // int i
        11: .line 336
            return
        end local 1 // com.sun.prism.paint.Color[] colors
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   12     1  colors  [Lcom/sun/prism/paint/Color;
            5   10     2    rgb1  I
            6   10     3    rgb2  I
            2   11     4       i  I
    MethodParameters:
        Name  Flags
      colors  

  private void interpolate(int, int, int[]);
    descriptor: (II[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=4
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // int rgb1
        start local 2 // int rgb2
        start local 3 // int[] output
         0: .line 351
            fconst_1
            aload 3 /* output */
            arraylength
            i2f
            fdiv
            fstore 12 /* stepSize */
        start local 12 // float stepSize
         1: .line 354
            iload 1 /* rgb1 */
            bipush 24
            ishr
            sipush 255
            iand
            istore 4 /* a1 */
        start local 4 // int a1
         2: .line 355
            iload 1 /* rgb1 */
            bipush 16
            ishr
            sipush 255
            iand
            istore 5 /* r1 */
        start local 5 // int r1
         3: .line 356
            iload 1 /* rgb1 */
            bipush 8
            ishr
            sipush 255
            iand
            istore 6 /* g1 */
        start local 6 // int g1
         4: .line 357
            iload 1 /* rgb1 */
            sipush 255
            iand
            istore 7 /* b1 */
        start local 7 // int b1
         5: .line 360
            iload 2 /* rgb2 */
            bipush 24
            ishr
            sipush 255
            iand
            iload 4 /* a1 */
            isub
            istore 8 /* da */
        start local 8 // int da
         6: .line 361
            iload 2 /* rgb2 */
            bipush 16
            ishr
            sipush 255
            iand
            iload 5 /* r1 */
            isub
            istore 9 /* dr */
        start local 9 // int dr
         7: .line 362
            iload 2 /* rgb2 */
            bipush 8
            ishr
            sipush 255
            iand
            iload 6 /* g1 */
            isub
            istore 10 /* dg */
        start local 10 // int dg
         8: .line 363
            iload 2 /* rgb2 */
            sipush 255
            iand
            iload 7 /* b1 */
            isub
            istore 11 /* db */
        start local 11 // int db
         9: .line 368
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        10: goto 21
        11: .line 369
      StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext int int int[] int int int int int int int int float int
      StackMap stack:
            aload 3 /* output */
            iload 13 /* i */
        12: .line 370
            iload 4 /* a1 */
            i2f
            iload 13 /* i */
            iload 8 /* da */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 24
            ishl
        13: .line 371
            iload 5 /* r1 */
            i2f
            iload 13 /* i */
            iload 9 /* dr */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 16
            ishl
        14: .line 370
            ior
        15: .line 372
            iload 6 /* g1 */
            i2f
            iload 13 /* i */
            iload 10 /* dg */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
            bipush 8
            ishl
        16: .line 370
            ior
        17: .line 373
            iload 7 /* b1 */
            i2f
            iload 13 /* i */
            iload 11 /* db */
            imul
            i2f
            fload 12 /* stepSize */
            fmul
            fadd
            f2d
            ldc 0.5
            dadd
            d2i
        18: .line 370
            ior
        19: .line 369
            iastore
        20: .line 368
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 13 /* i */
            aload 3 /* output */
            arraylength
            if_icmplt 11
        end local 13 // int i
        22: .line 375
            return
        end local 12 // float stepSize
        end local 11 // int db
        end local 10 // int dg
        end local 9 // int dr
        end local 8 // int da
        end local 7 // int b1
        end local 6 // int g1
        end local 5 // int r1
        end local 4 // int a1
        end local 3 // int[] output
        end local 2 // int rgb2
        end local 1 // int rgb1
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   23     1      rgb1  I
            0   23     2      rgb2  I
            0   23     3    output  [I
            2   23     4        a1  I
            3   23     5        r1  I
            4   23     6        g1  I
            5   23     7        b1  I
            6   23     8        da  I
            7   23     9        dr  I
            8   23    10        dg  I
            9   23    11        db  I
            1   23    12  stepSize  F
           10   22    13         i  I
    MethodParameters:
        Name  Flags
      rgb1    
      rgb2    
      output  

  protected final int indexIntoGradientsArrays(float);
    descriptor: (F)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
        start local 1 // float position
         0: .line 389
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
            ifne 7
         1: .line 390
            fload 1 /* position */
            fconst_1
            fcmpl
            ifle 4
         2: .line 392
            fconst_1
            fstore 1 /* position */
         3: .line 393
            goto 18
      StackMap locals:
      StackMap stack:
         4: fload 1 /* position */
            fconst_0
            fcmpg
            ifge 18
         5: .line 395
            fconst_0
            fstore 1 /* position */
         6: .line 397
            goto 18
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
            iconst_2
            if_icmpne 12
         8: .line 400
            fload 1 /* position */
            fload 1 /* position */
            f2i
            i2f
            fsub
            fstore 1 /* position */
         9: .line 403
            fload 1 /* position */
            fconst_0
            fcmpg
            ifge 18
        10: .line 405
            fload 1 /* position */
            fconst_1
            fadd
            fstore 1 /* position */
        11: .line 407
            goto 18
        12: .line 408
      StackMap locals:
      StackMap stack:
            fload 1 /* position */
            fconst_0
            fcmpg
            ifge 14
        13: .line 410
            fload 1 /* position */
            fneg
            fstore 1 /* position */
        14: .line 414
      StackMap locals:
      StackMap stack:
            fload 1 /* position */
            f2i
            istore 2 /* part */
        start local 2 // int part
        15: .line 417
            fload 1 /* position */
            iload 2 /* part */
            i2f
            fsub
            fstore 1 /* position */
        16: .line 419
            iload 2 /* part */
            iconst_1
            iand
            iconst_1
            if_icmpne 18
        17: .line 421
            fconst_1
            fload 1 /* position */
            fsub
            fstore 1 /* position */
        end local 2 // int part
        18: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
            ifeq 20
        19: .line 429
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
            fload 1 /* position */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fastGradientArraySize:I
            i2f
            fmul
            f2i
            iaload
            ireturn
        20: .line 433
      StackMap locals:
      StackMap stack:
            fload 1 /* position */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            iconst_0
            faload
            fcmpg
            ifge 22
        21: .line 434
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iconst_0
            aaload
            iconst_0
            iaload
            ireturn
        22: .line 438
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        23: goto 31
        24: .line 439
      StackMap locals: int
      StackMap stack:
            fload 1 /* position */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            iload 2 /* i */
            iconst_1
            iadd
            faload
            fcmpg
            ifge 30
        25: .line 441
            fload 1 /* position */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
            iload 2 /* i */
            faload
            fsub
            fstore 3 /* delta */
        start local 3 // float delta
        26: .line 444
            fload 3 /* delta */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
            iload 2 /* i */
            faload
            fdiv
        27: .line 445
            ldc 255.0
        28: .line 444
            fmul
            f2i
            istore 4 /* index */
        start local 4 // int index
        29: .line 447
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            iload 2 /* i */
            aaload
            iload 4 /* index */
            iaload
            ireturn
        end local 4 // int index
        end local 3 // float delta
        30: .line 438
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            arraylength
            if_icmplt 24
        end local 2 // int i
        32: .line 452
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            aload 0 /* this */
            getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
            arraylength
            iconst_1
            isub
            aaload
            sipush 255
            iaload
            ireturn
        end local 1 // float position
        end local 0 // com.sun.prism.impl.paint.MultipleGradientContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      this  Lcom/sun/prism/impl/paint/MultipleGradientContext;
            0   33     1  position  F
           15   18     2      part  I
           23   32     2         i  I
           26   30     3     delta  F
           29   30     4     index  I
    MethodParameters:
          Name  Flags
      position  

  protected abstract void fillRaster(int[], int, int, int, int, int, int);
    descriptor: ([IIIIIII)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      pixels  
      off     
      adjust  
      x       
      y       
      w       
      h       
}
SourceFile: "MultipleGradientContext.java"