public class com.sun.scenario.effect.BoxShadow extends com.sun.scenario.effect.AbstractShadow
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.scenario.effect.BoxShadow
  super_class: com.sun.scenario.effect.AbstractShadow
{
  private final com.sun.scenario.effect.impl.state.BoxShadowState state;
    descriptor: Lcom/sun/scenario/effect/impl/state/BoxShadowState;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$sun$scenario$effect$AbstractShadow$ShadowMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 58
            aload 0 /* this */
            iconst_1
            iconst_1
            invokespecial com.sun.scenario.effect.BoxShadow.<init>:(II)V
         1: .line 59
            return
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int hsize
        start local 2 // int vsize
         0: .line 77
            aload 0 /* this */
            iload 1 /* hsize */
            iload 2 /* vsize */
            iconst_1
            getstatic com.sun.scenario.effect.BoxShadow.DefaultInput:Lcom/sun/scenario/effect/Effect;
            invokespecial com.sun.scenario.effect.BoxShadow.<init>:(IIILcom/sun/scenario/effect/Effect;)V
         1: .line 78
            return
        end local 2 // int vsize
        end local 1 // int hsize
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  hsize  I
            0    2     2  vsize  I
    MethodParameters:
       Name  Flags
      hsize  
      vsize  

  public void <init>(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int hsize
        start local 2 // int vsize
        start local 3 // int passes
         0: .line 98
            aload 0 /* this */
            iload 1 /* hsize */
            iload 2 /* vsize */
            iload 3 /* passes */
            getstatic com.sun.scenario.effect.BoxShadow.DefaultInput:Lcom/sun/scenario/effect/Effect;
            invokespecial com.sun.scenario.effect.BoxShadow.<init>:(IIILcom/sun/scenario/effect/Effect;)V
         1: .line 99
            return
        end local 3 // int passes
        end local 2 // int vsize
        end local 1 // int hsize
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1   hsize  I
            0    2     2   vsize  I
            0    2     3  passes  I
    MethodParameters:
        Name  Flags
      hsize   
      vsize   
      passes  

  public void <init>(int, int, int, com.sun.scenario.effect.Effect);
    descriptor: (IIILcom/sun/scenario/effect/Effect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int hsize
        start local 2 // int vsize
        start local 3 // int passes
        start local 4 // com.sun.scenario.effect.Effect input
         0: .line 116
            aload 0 /* this */
            aload 4 /* input */
            invokespecial com.sun.scenario.effect.AbstractShadow.<init>:(Lcom/sun/scenario/effect/Effect;)V
         1: .line 45
            aload 0 /* this */
            new com.sun.scenario.effect.impl.state.BoxShadowState
            dup
            invokespecial com.sun.scenario.effect.impl.state.BoxShadowState.<init>:()V
            putfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
         2: .line 117
            aload 0 /* this */
            iload 1 /* hsize */
            invokevirtual com.sun.scenario.effect.BoxShadow.setHorizontalSize:(I)V
         3: .line 118
            aload 0 /* this */
            iload 2 /* vsize */
            invokevirtual com.sun.scenario.effect.BoxShadow.setVerticalSize:(I)V
         4: .line 119
            aload 0 /* this */
            iload 3 /* passes */
            invokevirtual com.sun.scenario.effect.BoxShadow.setPasses:(I)V
         5: .line 120
            aload 0 /* this */
            getstatic com.sun.scenario.effect.Color4f.BLACK:Lcom/sun/scenario/effect/Color4f;
            invokevirtual com.sun.scenario.effect.BoxShadow.setColor:(Lcom/sun/scenario/effect/Color4f;)V
         6: .line 121
            aload 0 /* this */
            fconst_0
            invokevirtual com.sun.scenario.effect.BoxShadow.setSpread:(F)V
         7: .line 122
            return
        end local 4 // com.sun.scenario.effect.Effect input
        end local 3 // int passes
        end local 2 // int vsize
        end local 1 // int hsize
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/scenario/effect/BoxShadow;
            0    8     1   hsize  I
            0    8     2   vsize  I
            0    8     3  passes  I
            0    8     4   input  Lcom/sun/scenario/effect/Effect;
    MethodParameters:
        Name  Flags
      hsize   
      vsize   
      passes  
      input   

  com.sun.scenario.effect.impl.state.LinearConvolveKernel getState();
    descriptor: ()Lcom/sun/scenario/effect/impl/state/LinearConvolveKernel;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 126
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            areturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final com.sun.scenario.effect.Effect getInput();
    descriptor: ()Lcom/sun/scenario/effect/Effect;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 135
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getInputs:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.scenario.effect.Effect
            areturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public void setInput(com.sun.scenario.effect.Effect);
    descriptor: (Lcom/sun/scenario/effect/Effect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.scenario.effect.Effect input
         0: .line 147
            aload 0 /* this */
            iconst_0
            aload 1 /* input */
            invokevirtual com.sun.scenario.effect.BoxShadow.setInput:(ILcom/sun/scenario/effect/Effect;)V
         1: .line 148
            return
        end local 1 // com.sun.scenario.effect.Effect input
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  input  Lcom/sun/scenario/effect/Effect;
    MethodParameters:
       Name  Flags
      input  

  public int getHorizontalSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 156
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getHsize:()I
            ireturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final void setHorizontalSize(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int hsize
         0: .line 173
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iload 1 /* hsize */
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.setHsize:(I)V
         1: .line 174
            return
        end local 1 // int hsize
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  hsize  I
    MethodParameters:
       Name  Flags
      hsize  

  public int getVerticalSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 182
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getVsize:()I
            ireturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final void setVerticalSize(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int vsize
         0: .line 199
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iload 1 /* vsize */
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.setVsize:(I)V
         1: .line 200
            return
        end local 1 // int vsize
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  vsize  I
    MethodParameters:
       Name  Flags
      vsize  

  public int getPasses();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 209
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getBlurPasses:()I
            ireturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final void setPasses(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // int passes
         0: .line 229
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iload 1 /* passes */
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.setBlurPasses:(I)V
         1: .line 230
            return
        end local 1 // int passes
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  passes  I
    MethodParameters:
        Name  Flags
      passes  

  public com.sun.scenario.effect.Color4f getColor();
    descriptor: ()Lcom/sun/scenario/effect/Color4f;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 238
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getShadowColor:()Lcom/sun/scenario/effect/Color4f;
            areturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final void setColor(com.sun.scenario.effect.Color4f);
    descriptor: (Lcom/sun/scenario/effect/Color4f;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.scenario.effect.Color4f color
         0: .line 254
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            aload 1 /* color */
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.setShadowColor:(Lcom/sun/scenario/effect/Color4f;)V
         1: .line 255
            return
        end local 1 // com.sun.scenario.effect.Color4f color
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  color  Lcom/sun/scenario/effect/Color4f;
    MethodParameters:
       Name  Flags
      color  

  public float getSpread();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 263
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getSpread:()F
            freturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public final void setSpread(float);
    descriptor: (F)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // float spread
         0: .line 289
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            fload 1 /* spread */
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.setSpread:(F)V
         1: .line 290
            return
        end local 1 // float spread
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/scenario/effect/BoxShadow;
            0    2     1  spread  F
    MethodParameters:
        Name  Flags
      spread  

  public float getGaussianRadius();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 293
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getHorizontalSize:()I
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getVerticalSize:()I
            iadd
            i2f
            fconst_2
            fdiv
            fstore 1 /* d */
        start local 1 // float d
         1: .line 294
            fload 1 /* d */
            ldc 3.0
            fmul
            fstore 1 /* d */
         2: .line 295
            fload 1 /* d */
            fconst_1
            fcmpg
            ifge 3
            fconst_0
            goto 4
      StackMap locals: float
      StackMap stack:
         3: fload 1 /* d */
            fconst_1
            fsub
            fconst_2
            fdiv
      StackMap locals:
      StackMap stack: float
         4: freturn
        end local 1 // float d
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/scenario/effect/BoxShadow;
            1    5     1     d  F

  public float getGaussianWidth();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 299
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getHorizontalSize:()I
            i2f
            ldc 3.0
            fmul
            freturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public float getGaussianHeight();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 303
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getVerticalSize:()I
            i2f
            ldc 3.0
            fmul
            freturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public void setGaussianRadius(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // float r
         0: .line 307
            fload 1 /* r */
            fconst_2
            fmul
            fconst_1
            fadd
            fstore 2 /* d */
        start local 2 // float d
         1: .line 308
            aload 0 /* this */
            fload 2 /* d */
            invokevirtual com.sun.scenario.effect.BoxShadow.setGaussianWidth:(F)V
         2: .line 309
            aload 0 /* this */
            fload 2 /* d */
            invokevirtual com.sun.scenario.effect.BoxShadow.setGaussianHeight:(F)V
         3: .line 310
            return
        end local 2 // float d
        end local 1 // float r
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/scenario/effect/BoxShadow;
            0    4     1     r  F
            1    4     2     d  F
    MethodParameters:
      Name  Flags
      r     

  public void setGaussianWidth(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // float w
         0: .line 313
            fload 1 /* w */
            ldc 3.0
            fdiv
            fstore 1 /* w */
         1: .line 314
            aload 0 /* this */
            fload 1 /* w */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual com.sun.scenario.effect.BoxShadow.setHorizontalSize:(I)V
         2: .line 315
            return
        end local 1 // float w
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/scenario/effect/BoxShadow;
            0    3     1     w  F
    MethodParameters:
      Name  Flags
      w     

  public void setGaussianHeight(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // float h
         0: .line 318
            fload 1 /* h */
            ldc 3.0
            fdiv
            fstore 1 /* h */
         1: .line 319
            aload 0 /* this */
            fload 1 /* h */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual com.sun.scenario.effect.BoxShadow.setVerticalSize:(I)V
         2: .line 320
            return
        end local 1 // float h
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/scenario/effect/BoxShadow;
            0    3     1     h  F
    MethodParameters:
      Name  Flags
      h     

  public com.sun.scenario.effect.AbstractShadow$ShadowMode getMode();
    descriptor: ()Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 323
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getPasses:()I
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 325
      StackMap locals:
      StackMap stack:
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.ONE_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            areturn
         2: .line 327
      StackMap locals:
      StackMap stack:
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.TWO_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            areturn
         3: .line 329
      StackMap locals:
      StackMap stack:
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.THREE_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            areturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public com.sun.scenario.effect.AbstractShadow implFor(com.sun.scenario.effect.AbstractShadow$ShadowMode);
    descriptor: (Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;)Lcom/sun/scenario/effect/AbstractShadow;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.scenario.effect.AbstractShadow$ShadowMode mode
         0: .line 334
            invokestatic com.sun.scenario.effect.BoxShadow.$SWITCH_TABLE$com$sun$scenario$effect$AbstractShadow$ShadowMode:()[I
            aload 1 /* mode */
            invokevirtual com.sun.scenario.effect.AbstractShadow$ShadowMode.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 8
                    2: 10
                    3: 12
                    4: 1
              default: 13
          }
         1: .line 336
      StackMap locals:
      StackMap stack:
            new com.sun.scenario.effect.GaussianShadow
            dup
            invokespecial com.sun.scenario.effect.GaussianShadow.<init>:()V
            astore 2 /* gs */
        start local 2 // com.sun.scenario.effect.GaussianShadow gs
         2: .line 337
            aload 2 /* gs */
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getInput:()Lcom/sun/scenario/effect/Effect;
            invokevirtual com.sun.scenario.effect.GaussianShadow.setInput:(Lcom/sun/scenario/effect/Effect;)V
         3: .line 338
            aload 2 /* gs */
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getGaussianWidth:()F
            invokevirtual com.sun.scenario.effect.GaussianShadow.setGaussianWidth:(F)V
         4: .line 339
            aload 2 /* gs */
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getGaussianHeight:()F
            invokevirtual com.sun.scenario.effect.GaussianShadow.setGaussianHeight:(F)V
         5: .line 340
            aload 2 /* gs */
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getColor:()Lcom/sun/scenario/effect/Color4f;
            invokevirtual com.sun.scenario.effect.GaussianShadow.setColor:(Lcom/sun/scenario/effect/Color4f;)V
         6: .line 341
            aload 2 /* gs */
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.BoxShadow.getSpread:()F
            invokevirtual com.sun.scenario.effect.GaussianShadow.setSpread:(F)V
         7: .line 342
            aload 2 /* gs */
            areturn
        end local 2 // com.sun.scenario.effect.GaussianShadow gs
         8: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.scenario.effect.BoxShadow.setPasses:(I)V
         9: .line 345
            goto 13
        10: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.scenario.effect.BoxShadow.setPasses:(I)V
        11: .line 348
            goto 13
        12: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual com.sun.scenario.effect.BoxShadow.setPasses:(I)V
        13: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // com.sun.scenario.effect.AbstractShadow$ShadowMode mode
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/sun/scenario/effect/BoxShadow;
            0   14     1  mode  Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            2    8     2    gs  Lcom/sun/scenario/effect/GaussianShadow;
    MethodParameters:
      Name  Flags
      mode  

  public com.sun.scenario.effect.Effect$AccelType getAccelType(com.sun.scenario.effect.FilterContext);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;)Lcom/sun/scenario/effect/Effect$AccelType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
         0: .line 358
            aload 1 /* fctx */
            invokestatic com.sun.scenario.effect.impl.Renderer.getRenderer:(Lcom/sun/scenario/effect/FilterContext;)Lcom/sun/scenario/effect/impl/Renderer;
            invokevirtual com.sun.scenario.effect.impl.Renderer.getAccelType:()Lcom/sun/scenario/effect/Effect$AccelType;
            areturn
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;
            0    1     1  fctx  Lcom/sun/scenario/effect/FilterContext;
    MethodParameters:
      Name  Flags
      fctx  

  public com.sun.javafx.geom.BaseBounds getBounds(com.sun.javafx.geom.transform.BaseTransform, com.sun.scenario.effect.Effect);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/scenario/effect/Effect;)Lcom/sun/javafx/geom/BaseBounds;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 2 // com.sun.scenario.effect.Effect defaultInput
         0: .line 363
            aload 0 /* this */
            aconst_null
            aload 2 /* defaultInput */
            invokespecial com.sun.scenario.effect.AbstractShadow.getBounds:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/scenario/effect/Effect;)Lcom/sun/javafx/geom/BaseBounds;
            astore 3 /* r */
        start local 3 // com.sun.javafx.geom.BaseBounds r
         1: .line 364
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iconst_0
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getKernelSize:(I)I
            iconst_2
            idiv
            istore 4 /* hgrow */
        start local 4 // int hgrow
         2: .line 365
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iconst_1
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getKernelSize:(I)I
            iconst_2
            idiv
            istore 5 /* vgrow */
        start local 5 // int vgrow
         3: .line 366
            new com.sun.javafx.geom.RectBounds
            dup
            aload 3 /* r */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMinX:()F
            aload 3 /* r */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMinY:()F
            aload 3 /* r */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMaxX:()F
            aload 3 /* r */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMaxY:()F
            invokespecial com.sun.javafx.geom.RectBounds.<init>:(FFFF)V
            astore 6 /* ret */
        start local 6 // com.sun.javafx.geom.RectBounds ret
         4: .line 367
            aload 6 /* ret */
            iload 4 /* hgrow */
            i2f
            iload 5 /* vgrow */
            i2f
            invokevirtual com.sun.javafx.geom.RectBounds.grow:(FF)V
         5: .line 368
            aload 1 /* transform */
            aload 6 /* ret */
            invokestatic com.sun.scenario.effect.BoxShadow.transformBounds:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            areturn
        end local 6 // com.sun.javafx.geom.RectBounds ret
        end local 5 // int vgrow
        end local 4 // int hgrow
        end local 3 // com.sun.javafx.geom.BaseBounds r
        end local 2 // com.sun.scenario.effect.Effect defaultInput
        end local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/sun/scenario/effect/BoxShadow;
            0    6     1     transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0    6     2  defaultInput  Lcom/sun/scenario/effect/Effect;
            1    6     3             r  Lcom/sun/javafx/geom/BaseBounds;
            2    6     4         hgrow  I
            3    6     5         vgrow  I
            4    6     6           ret  Lcom/sun/javafx/geom/RectBounds;
    MethodParameters:
              Name  Flags
      transform     
      defaultInput  

  public com.sun.javafx.geom.Rectangle getResultBounds(com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, com.sun.scenario.effect.ImageData[]);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;[Lcom/sun/scenario/effect/ImageData;)Lcom/sun/javafx/geom/Rectangle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 2 // com.sun.javafx.geom.Rectangle outputClip
        start local 3 // com.sun.scenario.effect.ImageData[] inputDatas
         0: .line 376
            aload 3 /* inputDatas */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 4 /* r */
        start local 4 // com.sun.javafx.geom.Rectangle r
         1: .line 377
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            aload 4 /* r */
            iconst_0
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getResultBounds:(Lcom/sun/javafx/geom/Rectangle;I)Lcom/sun/javafx/geom/Rectangle;
            astore 4 /* r */
         2: .line 378
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            aload 4 /* r */
            iconst_1
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getResultBounds:(Lcom/sun/javafx/geom/Rectangle;I)Lcom/sun/javafx/geom/Rectangle;
            astore 4 /* r */
         3: .line 379
            aload 4 /* r */
            aload 2 /* outputClip */
            invokevirtual com.sun.javafx.geom.Rectangle.intersectWith:(Lcom/sun/javafx/geom/Rectangle;)V
         4: .line 380
            aload 4 /* r */
            areturn
        end local 4 // com.sun.javafx.geom.Rectangle r
        end local 3 // com.sun.scenario.effect.ImageData[] inputDatas
        end local 2 // com.sun.javafx.geom.Rectangle outputClip
        end local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/scenario/effect/BoxShadow;
            0    5     1   transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0    5     2  outputClip  Lcom/sun/javafx/geom/Rectangle;
            0    5     3  inputDatas  [Lcom/sun/scenario/effect/ImageData;
            1    5     4           r  Lcom/sun/javafx/geom/Rectangle;
    MethodParameters:
            Name  Flags
      transform   
      outputClip  
      inputDatas  

  public boolean reducesOpaquePixels();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.BoxShadow this
         0: .line 385
            iconst_1
            ireturn
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/BoxShadow;

  public com.sun.javafx.geom.DirtyRegionContainer getDirtyRegions(com.sun.scenario.effect.Effect, com.sun.javafx.geom.DirtyRegionPool);
    descriptor: (Lcom/sun/scenario/effect/Effect;Lcom/sun/javafx/geom/DirtyRegionPool;)Lcom/sun/javafx/geom/DirtyRegionContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.scenario.effect.BoxShadow this
        start local 1 // com.sun.scenario.effect.Effect defaultInput
        start local 2 // com.sun.javafx.geom.DirtyRegionPool regionPool
         0: .line 390
            aload 0 /* this */
            iconst_0
            aload 1 /* defaultInput */
            invokevirtual com.sun.scenario.effect.BoxShadow.getDefaultedInput:(ILcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/Effect;
            astore 3 /* di */
        start local 3 // com.sun.scenario.effect.Effect di
         1: .line 391
            aload 3 /* di */
            aload 1 /* defaultInput */
            aload 2 /* regionPool */
            invokevirtual com.sun.scenario.effect.Effect.getDirtyRegions:(Lcom/sun/scenario/effect/Effect;Lcom/sun/javafx/geom/DirtyRegionPool;)Lcom/sun/javafx/geom/DirtyRegionContainer;
            astore 4 /* drc */
        start local 4 // com.sun.javafx.geom.DirtyRegionContainer drc
         2: .line 393
            aload 4 /* drc */
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iconst_0
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getKernelSize:(I)I
            iconst_2
            idiv
            aload 0 /* this */
            getfield com.sun.scenario.effect.BoxShadow.state:Lcom/sun/scenario/effect/impl/state/BoxShadowState;
            iconst_1
            invokevirtual com.sun.scenario.effect.impl.state.BoxShadowState.getKernelSize:(I)I
            iconst_2
            idiv
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.grow:(II)V
         3: .line 395
            aload 4 /* drc */
            areturn
        end local 4 // com.sun.javafx.geom.DirtyRegionContainer drc
        end local 3 // com.sun.scenario.effect.Effect di
        end local 2 // com.sun.javafx.geom.DirtyRegionPool regionPool
        end local 1 // com.sun.scenario.effect.Effect defaultInput
        end local 0 // com.sun.scenario.effect.BoxShadow this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/sun/scenario/effect/BoxShadow;
            0    4     1  defaultInput  Lcom/sun/scenario/effect/Effect;
            0    4     2    regionPool  Lcom/sun/javafx/geom/DirtyRegionPool;
            1    4     3            di  Lcom/sun/scenario/effect/Effect;
            2    4     4           drc  Lcom/sun/javafx/geom/DirtyRegionContainer;
    MethodParameters:
              Name  Flags
      defaultInput  
      regionPool    

  java.lang.Object getState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.scenario.effect.BoxShadow.getState:()Lcom/sun/scenario/effect/impl/state/LinearConvolveKernel;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$com$sun$scenario$effect$AbstractShadow$ShadowMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic com.sun.scenario.effect.BoxShadow.$SWITCH_TABLE$com$sun$scenario$effect$AbstractShadow$ShadowMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.scenario.effect.AbstractShadow$ShadowMode.values:()[Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.GAUSSIAN:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            invokevirtual com.sun.scenario.effect.AbstractShadow$ShadowMode.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.ONE_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            invokevirtual com.sun.scenario.effect.AbstractShadow$ShadowMode.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.THREE_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            invokevirtual com.sun.scenario.effect.AbstractShadow$ShadowMode.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.scenario.effect.AbstractShadow$ShadowMode.TWO_PASS_BOX:Lcom/sun/scenario/effect/AbstractShadow$ShadowMode;
            invokevirtual com.sun.scenario.effect.AbstractShadow$ShadowMode.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic com.sun.scenario.effect.BoxShadow.$SWITCH_TABLE$com$sun$scenario$effect$AbstractShadow$ShadowMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "BoxShadow.java"
InnerClasses:
  public final ShadowMode = com.sun.scenario.effect.AbstractShadow$ShadowMode of com.sun.scenario.effect.AbstractShadow
  public final AccelType = com.sun.scenario.effect.Effect$AccelType of com.sun.scenario.effect.Effect