public abstract class com.sun.prism.j2d.paint.MultipleGradientPaint implements java.awt.Paint
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.prism.j2d.paint.MultipleGradientPaint
  super_class: java.lang.Object
{
  final int transparency;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final float[] fractions;
    descriptor: [F
    flags: (0x0010) ACC_FINAL

  final java.awt.Color[] colors;
    descriptor: [Ljava/awt/Color;
    flags: (0x0010) ACC_FINAL

  final java.awt.geom.AffineTransform gradientTransform;
    descriptor: Ljava/awt/geom/AffineTransform;
    flags: (0x0010) ACC_FINAL

  final com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod cycleMethod;
    descriptor: Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;
    flags: (0x0010) ACC_FINAL

  final com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType colorSpace;
    descriptor: Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;
    flags: (0x0010) ACC_FINAL

  java.awt.image.ColorModel model;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0000) 

  float[] normalizedIntervals;
    descriptor: [F
    flags: (0x0000) 

  boolean isSimpleLookup;
    descriptor: Z
    flags: (0x0000) 

  java.lang.ref.SoftReference<int[][]> gradients;
    descriptor: Ljava/lang/ref/SoftReference;
    flags: (0x0000) 
    Signature: Ljava/lang/ref/SoftReference<[[I>;

  java.lang.ref.SoftReference<int[]> gradient;
    descriptor: Ljava/lang/ref/SoftReference;
    flags: (0x0000) 
    Signature: Ljava/lang/ref/SoftReference<[I>;

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

  void <init>(float[], java.awt.Color[], com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod, com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType, java.awt.geom.AffineTransform);
    descriptor: ([F[Ljava/awt/Color;Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=13, args_size=6
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
        start local 1 // float[] fractions
        start local 2 // java.awt.Color[] colors
        start local 3 // com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod cycleMethod
        start local 4 // com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType colorSpace
        start local 5 // java.awt.geom.AffineTransform gradientTransform
         0: .line 132
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 138
            aload 1 /* fractions */
            ifnonnull 3
         2: .line 139
            new java.lang.NullPointerException
            dup
            ldc "Fractions array cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 142
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform
      StackMap stack:
            aload 2 /* colors */
            ifnonnull 5
         4: .line 143
            new java.lang.NullPointerException
            dup
            ldc "Colors array cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 146
      StackMap locals:
      StackMap stack:
            aload 3 /* cycleMethod */
            ifnonnull 7
         6: .line 147
            new java.lang.NullPointerException
            dup
            ldc "Cycle method cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 150
      StackMap locals:
      StackMap stack:
            aload 4 /* colorSpace */
            ifnonnull 9
         8: .line 151
            new java.lang.NullPointerException
            dup
            ldc "Color space cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 154
      StackMap locals:
      StackMap stack:
            aload 5 /* gradientTransform */
            ifnonnull 11
        10: .line 155
            new java.lang.NullPointerException
            dup
            ldc "Gradient transform cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 159
      StackMap locals:
      StackMap stack:
            aload 1 /* fractions */
            arraylength
            aload 2 /* colors */
            arraylength
            if_icmpeq 13
        12: .line 160
            new java.lang.IllegalArgumentException
            dup
            ldc "Colors and fractions must have equal size"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* colors */
            arraylength
            iconst_2
            if_icmpge 15
        14: .line 165
            new java.lang.IllegalArgumentException
            dup
            ldc "User must specify at least 2 colors"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 171
      StackMap locals:
      StackMap stack:
            ldc -1.0
            fstore 6 /* previousFraction */
        start local 6 // float previousFraction
        16: .line 172
            aload 1 /* fractions */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 28
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float top int int float[]
      StackMap stack:
        17: aload 10
            iload 8
            faload
            fstore 7 /* currentFraction */
        start local 7 // float currentFraction
        18: .line 173
            fload 7 /* currentFraction */
            fconst_0
            fcmpg
            iflt 19
            fload 7 /* currentFraction */
            fconst_1
            fcmpl
            ifle 22
        19: .line 174
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float float int int float[]
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Fraction values must be in the range 0 to 1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 176
            fload 7 /* currentFraction */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 174
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 179
      StackMap locals:
      StackMap stack:
            fload 7 /* currentFraction */
            fload 6 /* previousFraction */
            fcmpg
            ifgt 26
        23: .line 180
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Keyframe fractions must be increasing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 182
            fload 7 /* currentFraction */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 180
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 185
      StackMap locals:
      StackMap stack:
            fload 7 /* currentFraction */
            fstore 6 /* previousFraction */
        end local 7 // float currentFraction
        27: .line 172
            iinc 8 1
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float top int int float[]
      StackMap stack:
        28: iload 8
            iload 9
            if_icmplt 17
        29: .line 192
            iconst_0
            istore 7 /* fixFirst */
        start local 7 // boolean fixFirst
        30: .line 193
            iconst_0
            istore 8 /* fixLast */
        start local 8 // boolean fixLast
        31: .line 194
            aload 1 /* fractions */
            arraylength
            istore 9 /* len */
        start local 9 // int len
        32: .line 195
            iconst_0
            istore 10 /* off */
        start local 10 // int off
        33: .line 197
            aload 1 /* fractions */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifeq 37
        34: .line 199
            iconst_1
            istore 7 /* fixFirst */
        35: .line 200
            iinc 9 /* len */ 1
        36: .line 201
            iinc 10 /* off */ 1
        37: .line 203
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float int int int int
      StackMap stack:
            aload 1 /* fractions */
            aload 1 /* fractions */
            arraylength
            iconst_1
            isub
            faload
            fconst_1
            fcmpl
            ifeq 40
        38: .line 205
            iconst_1
            istore 8 /* fixLast */
        39: .line 206
            iinc 9 /* len */ 1
        40: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* len */
            newarray 6
            putfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
        41: .line 210
            aload 1 /* fractions */
            iconst_0
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            iload 10 /* off */
            aload 1 /* fractions */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 211
            aload 0 /* this */
            iload 9 /* len */
            anewarray java.awt.Color
            putfield com.sun.prism.j2d.paint.MultipleGradientPaint.colors:[Ljava/awt/Color;
        43: .line 212
            aload 2 /* colors */
            iconst_0
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.colors:[Ljava/awt/Color;
            iload 10 /* off */
            aload 2 /* colors */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        44: .line 214
            iload 7 /* fixFirst */
            ifeq 47
        45: .line 215
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            iconst_0
            fconst_0
            fastore
        46: .line 216
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.colors:[Ljava/awt/Color;
            iconst_0
            aload 2 /* colors */
            iconst_0
            aaload
            aastore
        47: .line 218
      StackMap locals:
      StackMap stack:
            iload 8 /* fixLast */
            ifeq 50
        48: .line 219
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            iload 9 /* len */
            iconst_1
            isub
            fconst_1
            fastore
        49: .line 220
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.colors:[Ljava/awt/Color;
            iload 9 /* len */
            iconst_1
            isub
            aload 2 /* colors */
            aload 2 /* colors */
            arraylength
            iconst_1
            isub
            aaload
            aastore
        50: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* colorSpace */
            putfield com.sun.prism.j2d.paint.MultipleGradientPaint.colorSpace:Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;
        51: .line 225
            aload 0 /* this */
            aload 3 /* cycleMethod */
            putfield com.sun.prism.j2d.paint.MultipleGradientPaint.cycleMethod:Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;
        52: .line 228
            aload 0 /* this */
            new java.awt.geom.AffineTransform
            dup
            aload 5 /* gradientTransform */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            putfield com.sun.prism.j2d.paint.MultipleGradientPaint.gradientTransform:Ljava/awt/geom/AffineTransform;
        53: .line 231
            iconst_1
            istore 11 /* opaque */
        start local 11 // boolean opaque
        54: .line 232
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        55: goto 60
        56: .line 233
      StackMap locals: int int
      StackMap stack:
            iload 11 /* opaque */
            ifeq 57
            aload 2 /* colors */
            iload 12 /* i */
            aaload
            invokevirtual java.awt.Color.getAlpha:()I
            sipush 255
            if_icmpne 57
            iconst_1
            goto 58
      StackMap locals:
      StackMap stack:
        57: iconst_0
      StackMap locals:
      StackMap stack: int
        58: istore 11 /* opaque */
        59: .line 232
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 12 /* i */
            aload 2 /* colors */
            arraylength
            if_icmplt 56
        end local 12 // int i
        61: .line 235
            aload 0 /* this */
            iload 11 /* opaque */
            ifeq 62
            iconst_1
            goto 63
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float int int int int int
      StackMap stack: com.sun.prism.j2d.paint.MultipleGradientPaint
        62: iconst_3
      StackMap locals: com.sun.prism.j2d.paint.MultipleGradientPaint float[] java.awt.Color[] com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float int int int int int
      StackMap stack: com.sun.prism.j2d.paint.MultipleGradientPaint int
        63: putfield com.sun.prism.j2d.paint.MultipleGradientPaint.transparency:I
        64: .line 236
            return
        end local 11 // boolean opaque
        end local 10 // int off
        end local 9 // int len
        end local 8 // boolean fixLast
        end local 7 // boolean fixFirst
        end local 6 // float previousFraction
        end local 5 // java.awt.geom.AffineTransform gradientTransform
        end local 4 // com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType colorSpace
        end local 3 // com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod cycleMethod
        end local 2 // java.awt.Color[] colors
        end local 1 // float[] fractions
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   65     0               this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;
            0   65     1          fractions  [F
            0   65     2             colors  [Ljava/awt/Color;
            0   65     3        cycleMethod  Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;
            0   65     4         colorSpace  Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;
            0   65     5  gradientTransform  Ljava/awt/geom/AffineTransform;
           16   65     6   previousFraction  F
           18   27     7    currentFraction  F
           30   65     7           fixFirst  Z
           31   65     8            fixLast  Z
           32   65     9                len  I
           33   65    10                off  I
           54   65    11             opaque  Z
           55   61    12                  i  I
    MethodParameters:
                   Name  Flags
      fractions          
      colors             
      cycleMethod        
      colorSpace         
      gradientTransform  

  public final float[] getFractions();
    descriptor: ()[F
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 248
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            arraylength
            newarray 6
            astore 1 /* copy */
        start local 1 // float[] copy
         1: .line 249
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            iconst_0
            aload 1 /* copy */
            iconst_0
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 250
            aload 1 /* copy */
            areturn
        end local 1 // float[] copy
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;
            1    3     1  copy  [F

  public final java.awt.Color[] getColors();
    descriptor: ()[Ljava/awt/Color;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 261
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            arraylength
            anewarray java.awt.Color
            astore 1 /* copy */
        start local 1 // java.awt.Color[] copy
         1: .line 262
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            iconst_0
            aload 1 /* copy */
            iconst_0
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.fractions:[F
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 263
            aload 1 /* copy */
            areturn
        end local 1 // java.awt.Color[] copy
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;
            1    3     1  copy  [Ljava/awt/Color;

  public final com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod getCycleMethod();
    descriptor: ()Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 272
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.cycleMethod:Lcom/sun/prism/j2d/paint/MultipleGradientPaint$CycleMethod;
            areturn
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;

  public final com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType getColorSpace();
    descriptor: ()Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 283
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.colorSpace:Lcom/sun/prism/j2d/paint/MultipleGradientPaint$ColorSpaceType;
            areturn
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;

  public final java.awt.geom.AffineTransform getTransform();
    descriptor: ()Ljava/awt/geom/AffineTransform;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 292
            new java.awt.geom.AffineTransform
            dup
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.gradientTransform:Ljava/awt/geom/AffineTransform;
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            areturn
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;

  public final int getTransparency();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
         0: .line 303
            aload 0 /* this */
            getfield com.sun.prism.j2d.paint.MultipleGradientPaint.transparency:I
            ireturn
        end local 0 // com.sun.prism.j2d.paint.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/j2d/paint/MultipleGradientPaint;
}
SourceFile: "MultipleGradientPaint.java"
NestMembers:
  com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType  com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod
InnerClasses:
  public final ColorSpaceType = com.sun.prism.j2d.paint.MultipleGradientPaint$ColorSpaceType of com.sun.prism.j2d.paint.MultipleGradientPaint
  public final CycleMethod = com.sun.prism.j2d.paint.MultipleGradientPaint$CycleMethod of com.sun.prism.j2d.paint.MultipleGradientPaint