public abstract class java.awt.MultipleGradientPaint implements java.awt.Paint
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.awt.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 java.awt.MultipleGradientPaint$CycleMethod cycleMethod;
    descriptor: Ljava/awt/MultipleGradientPaint$CycleMethod;
    flags: (0x0010) ACC_FINAL

  final java.awt.MultipleGradientPaint$ColorSpaceType colorSpace;
    descriptor: Ljava/awt/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[], java.awt.MultipleGradientPaint$CycleMethod, java.awt.MultipleGradientPaint$ColorSpaceType, java.awt.geom.AffineTransform);
    descriptor: ([F[Ljava/awt/Color;Ljava/awt/MultipleGradientPaint$CycleMethod;Ljava/awt/MultipleGradientPaint$ColorSpaceType;Ljava/awt/geom/AffineTransform;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=13, args_size=6
        start local 0 // java.awt.MultipleGradientPaint this
        start local 1 // float[] fractions
        start local 2 // java.awt.Color[] colors
        start local 3 // java.awt.MultipleGradientPaint$CycleMethod cycleMethod
        start local 4 // java.awt.MultipleGradientPaint$ColorSpaceType colorSpace
        start local 5 // java.awt.geom.AffineTransform gradientTransform
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 142
            aload 1 /* fractions */
            ifnonnull 3
         2: .line 143
            new java.lang.NullPointerException
            dup
            ldc "Fractions array cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 146
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform
      StackMap stack:
            aload 2 /* colors */
            ifnonnull 5
         4: .line 147
            new java.lang.NullPointerException
            dup
            ldc "Colors array cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* cycleMethod */
            ifnonnull 7
         6: .line 151
            new java.lang.NullPointerException
            dup
            ldc "Cycle method cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 154
      StackMap locals:
      StackMap stack:
            aload 4 /* colorSpace */
            ifnonnull 9
         8: .line 155
            new java.lang.NullPointerException
            dup
            ldc "Color space cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 158
      StackMap locals:
      StackMap stack:
            aload 5 /* gradientTransform */
            ifnonnull 11
        10: .line 159
            new java.lang.NullPointerException
            dup
            ldc "Gradient transform cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* fractions */
            arraylength
            aload 2 /* colors */
            arraylength
            if_icmpeq 13
        12: .line 164
            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 168
      StackMap locals:
      StackMap stack:
            aload 2 /* colors */
            arraylength
            iconst_2
            if_icmpge 15
        14: .line 169
            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 175
      StackMap locals:
      StackMap stack:
            ldc -1.0
            fstore 6 /* previousFraction */
        start local 6 // float previousFraction
        16: .line 176
            aload 1 /* fractions */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 28
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.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 177
            fload 7 /* currentFraction */
            fconst_0
            fcmpg
            iflt 19
            fload 7 /* currentFraction */
            fconst_1
            fcmpl
            ifle 22
        19: .line 178
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.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 180
            fload 7 /* currentFraction */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 178
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 183
      StackMap locals:
      StackMap stack:
            fload 7 /* currentFraction */
            fload 6 /* previousFraction */
            fcmpg
            ifgt 26
        23: .line 184
            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 186
            fload 7 /* currentFraction */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 184
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 189
      StackMap locals:
      StackMap stack:
            fload 7 /* currentFraction */
            fstore 6 /* previousFraction */
        end local 7 // float currentFraction
        27: .line 176
            iinc 8 1
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float top int int float[]
      StackMap stack:
        28: iload 8
            iload 9
            if_icmplt 17
        29: .line 196
            iconst_0
            istore 7 /* fixFirst */
        start local 7 // boolean fixFirst
        30: .line 197
            iconst_0
            istore 8 /* fixLast */
        start local 8 // boolean fixLast
        31: .line 198
            aload 1 /* fractions */
            arraylength
            istore 9 /* len */
        start local 9 // int len
        32: .line 199
            iconst_0
            istore 10 /* off */
        start local 10 // int off
        33: .line 201
            aload 1 /* fractions */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifeq 37
        34: .line 203
            iconst_1
            istore 7 /* fixFirst */
        35: .line 204
            iinc 9 /* len */ 1
        36: .line 205
            iinc 10 /* off */ 1
        37: .line 207
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.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 209
            iconst_1
            istore 8 /* fixLast */
        39: .line 210
            iinc 9 /* len */ 1
        40: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* len */
            newarray 6
            putfield java.awt.MultipleGradientPaint.fractions:[F
        41: .line 214
            aload 1 /* fractions */
            iconst_0
            aload 0 /* this */
            getfield java.awt.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 215
            aload 0 /* this */
            iload 9 /* len */
            anewarray java.awt.Color
            putfield java.awt.MultipleGradientPaint.colors:[Ljava/awt/Color;
        43: .line 216
            aload 2 /* colors */
            iconst_0
            aload 0 /* this */
            getfield java.awt.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 218
            iload 7 /* fixFirst */
            ifeq 47
        45: .line 219
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.fractions:[F
            iconst_0
            fconst_0
            fastore
        46: .line 220
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.colors:[Ljava/awt/Color;
            iconst_0
            aload 2 /* colors */
            iconst_0
            aaload
            aastore
        47: .line 222
      StackMap locals:
      StackMap stack:
            iload 8 /* fixLast */
            ifeq 50
        48: .line 223
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.fractions:[F
            iload 9 /* len */
            iconst_1
            isub
            fconst_1
            fastore
        49: .line 224
            aload 0 /* this */
            getfield java.awt.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 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* colorSpace */
            putfield java.awt.MultipleGradientPaint.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
        51: .line 229
            aload 0 /* this */
            aload 3 /* cycleMethod */
            putfield java.awt.MultipleGradientPaint.cycleMethod:Ljava/awt/MultipleGradientPaint$CycleMethod;
        52: .line 232
            aload 0 /* this */
            new java.awt.geom.AffineTransform
            dup
            aload 5 /* gradientTransform */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            putfield java.awt.MultipleGradientPaint.gradientTransform:Ljava/awt/geom/AffineTransform;
        53: .line 235
            iconst_1
            istore 11 /* opaque */
        start local 11 // boolean opaque
        54: .line 236
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        55: goto 60
        56: .line 237
      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 236
            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 239
            aload 0 /* this */
            iload 11 /* opaque */
            ifeq 62
            iconst_1
            goto 63
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float int int int int int
      StackMap stack: java.awt.MultipleGradientPaint
        62: iconst_3
      StackMap locals: java.awt.MultipleGradientPaint float[] java.awt.Color[] java.awt.MultipleGradientPaint$CycleMethod java.awt.MultipleGradientPaint$ColorSpaceType java.awt.geom.AffineTransform float int int int int int
      StackMap stack: java.awt.MultipleGradientPaint int
        63: putfield java.awt.MultipleGradientPaint.transparency:I
        64: .line 240
            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 // java.awt.MultipleGradientPaint$ColorSpaceType colorSpace
        end local 3 // java.awt.MultipleGradientPaint$CycleMethod cycleMethod
        end local 2 // java.awt.Color[] colors
        end local 1 // float[] fractions
        end local 0 // java.awt.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   65     0               this  Ljava/awt/MultipleGradientPaint;
            0   65     1          fractions  [F
            0   65     2             colors  [Ljava/awt/Color;
            0   65     3        cycleMethod  Ljava/awt/MultipleGradientPaint$CycleMethod;
            0   65     4         colorSpace  Ljava/awt/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=2, locals=1, args_size=1
        start local 0 // java.awt.MultipleGradientPaint this
         0: .line 252
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.fractions:[F
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.fractions:[F
            arraylength
            invokestatic java.util.Arrays.copyOf:([FI)[F
            areturn
        end local 0 // java.awt.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/MultipleGradientPaint;

  public final java.awt.Color[] getColors();
    descriptor: ()[Ljava/awt/Color;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.MultipleGradientPaint this
         0: .line 263
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.colors:[Ljava/awt/Color;
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.colors:[Ljava/awt/Color;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.awt.Color[]
            areturn
        end local 0 // java.awt.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/MultipleGradientPaint;

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

  public final java.awt.MultipleGradientPaint$ColorSpaceType getColorSpace();
    descriptor: ()Ljava/awt/MultipleGradientPaint$ColorSpaceType;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.MultipleGradientPaint this
         0: .line 283
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.colorSpace:Ljava/awt/MultipleGradientPaint$ColorSpaceType;
            areturn
        end local 0 // java.awt.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/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 // java.awt.MultipleGradientPaint this
         0: .line 296
            new java.awt.geom.AffineTransform
            dup
            aload 0 /* this */
            getfield java.awt.MultipleGradientPaint.gradientTransform:Ljava/awt/geom/AffineTransform;
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            areturn
        end local 0 // java.awt.MultipleGradientPaint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/MultipleGradientPaint;

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