public class com.sun.javafx.sg.prism.CacheFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.sg.prism.CacheFilter
  super_class: java.lang.Object
{
  private static final com.sun.javafx.geom.Rectangle TEMP_RECT;
    descriptor: Lcom/sun/javafx/geom/Rectangle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.javafx.geom.DirtyRegionContainer TEMP_CONTAINER;
    descriptor: Lcom/sun/javafx/geom/DirtyRegionContainer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.javafx.geom.transform.Affine3D TEMP_CACHEFILTER_TRANSFORM;
    descriptor: Lcom/sun/javafx/geom/transform/Affine3D;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.javafx.geom.RectBounds TEMP_BOUNDS;
    descriptor: Lcom/sun/javafx/geom/RectBounds;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double EPSILON;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-7

  private com.sun.prism.RTTexture tempTexture;
    descriptor: Lcom/sun/prism/RTTexture;
    flags: (0x0002) ACC_PRIVATE

  private double lastXDelta;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double lastYDelta;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState scrollCacheState;
    descriptor: Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.scenario.effect.ImageData cachedImageData;
    descriptor: Lcom/sun/scenario/effect/ImageData;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.Rectangle cacheBounds;
    descriptor: Lcom/sun/javafx/geom/Rectangle;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.javafx.geom.transform.Affine2D cachedXform;
    descriptor: Lcom/sun/javafx/geom/transform/Affine2D;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private double cachedScaleX;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cachedScaleY;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cachedRotate;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cachedX;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cachedY;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.sg.prism.NGNode node;
    descriptor: Lcom/sun/javafx/sg/prism/NGNode;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.javafx.geom.transform.Affine2D screenXform;
    descriptor: Lcom/sun/javafx/geom/transform/Affine2D;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean scaleHint;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean rotateHint;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private javafx.scene.CacheHint cacheHint;
    descriptor: Ljavafx/scene/CacheHint;
    flags: (0x0002) ACC_PRIVATE

  private boolean wasUnsupported;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 88
            new com.sun.javafx.geom.Rectangle
            dup
            invokespecial com.sun.javafx.geom.Rectangle.<init>:()V
            putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
         1: .line 89
            new com.sun.javafx.geom.DirtyRegionContainer
            dup
            iconst_1
            invokespecial com.sun.javafx.geom.DirtyRegionContainer.<init>:(I)V
            putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
         2: .line 90
            new com.sun.javafx.geom.transform.Affine3D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine3D.<init>:()V
            putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
         3: .line 91
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
         4: .line 93
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private com.sun.javafx.geom.Rectangle computeDirtyRegionForTranslate();
    descriptor: ()Lcom/sun/javafx/geom/Rectangle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 131
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            dconst_0
            dcmpl
            ifeq 6
         1: .line 132
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            dconst_0
            dcmpl
            ifle 4
         2: .line 133
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            d2i
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.height:I
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
         3: .line 134
            goto 10
         4: .line 135
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            d2i
            iadd
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            d2i
            ineg
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.height:I
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
         5: .line 137
            goto 10
         6: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            dconst_0
            dcmpl
            ifle 9
         7: .line 139
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            d2i
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
         8: .line 140
            goto 10
         9: .line 141
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.height:I
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            d2i
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            d2i
            ineg
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
        10: .line 144
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
            areturn
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;

  protected void <init>(com.sun.javafx.sg.prism.NGNode, javafx.scene.CacheHint);
    descriptor: (Lcom/sun/javafx/sg/prism/NGNode;Ljavafx/scene/CacheHint;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.javafx.sg.prism.NGNode node
        start local 2 // javafx.scene.CacheHint cacheHint
         0: .line 147
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
         2: .line 101
            aload 0 /* this */
            new com.sun.javafx.geom.Rectangle
            dup
            invokespecial com.sun.javafx.geom.Rectangle.<init>:()V
            putfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
         3: .line 103
            aload 0 /* this */
            new com.sun.javafx.geom.transform.Affine2D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine2D.<init>:()V
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
         4: .line 115
            aload 0 /* this */
            new com.sun.javafx.geom.transform.Affine2D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine2D.<init>:()V
            putfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
         5: .line 125
            aload 0 /* this */
            iconst_0
            putfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
         6: .line 148
            aload 0 /* this */
            aload 1 /* node */
            putfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
         7: .line 149
            aload 0 /* this */
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
         8: .line 150
            aload 0 /* this */
            aload 2 /* cacheHint */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.setHint:(Ljavafx/scene/CacheHint;)V
         9: .line 151
            return
        end local 2 // javafx.scene.CacheHint cacheHint
        end local 1 // com.sun.javafx.sg.prism.NGNode node
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   10     1       node  Lcom/sun/javafx/sg/prism/NGNode;
            0   10     2  cacheHint  Ljavafx/scene/CacheHint;
    MethodParameters:
           Name  Flags
      node       
      cacheHint  

  public void setHint(javafx.scene.CacheHint);
    descriptor: (Ljavafx/scene/CacheHint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // javafx.scene.CacheHint cacheHint
         0: .line 154
            aload 0 /* this */
            aload 1 /* cacheHint */
            putfield com.sun.javafx.sg.prism.CacheFilter.cacheHint:Ljavafx/scene/CacheHint;
         1: .line 155
            aload 0 /* this */
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.SPEED:Ljavafx/scene/CacheHint;
            if_acmpeq 4
         2: .line 156
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.SCALE:Ljavafx/scene/CacheHint;
            if_acmpeq 4
         3: .line 157
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.SCALE_AND_ROTATE:Ljavafx/scene/CacheHint;
            if_acmpeq 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack: com.sun.javafx.sg.prism.CacheFilter
         4: iconst_1
         5: .line 155
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter javafx.scene.CacheHint
      StackMap stack: com.sun.javafx.sg.prism.CacheFilter int
            putfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
         6: .line 158
            aload 0 /* this */
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.SPEED:Ljavafx/scene/CacheHint;
            if_acmpeq 9
         7: .line 159
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.ROTATE:Ljavafx/scene/CacheHint;
            if_acmpeq 9
         8: .line 160
            aload 1 /* cacheHint */
            getstatic javafx.scene.CacheHint.SCALE_AND_ROTATE:Ljavafx/scene/CacheHint;
            if_acmpeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: com.sun.javafx.sg.prism.CacheFilter
         9: iconst_1
        10: .line 158
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter javafx.scene.CacheHint
      StackMap stack: com.sun.javafx.sg.prism.CacheFilter int
            putfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
        11: .line 161
            return
        end local 1 // javafx.scene.CacheHint cacheHint
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   12     1  cacheHint  Ljavafx/scene/CacheHint;
    MethodParameters:
           Name  Flags
      cacheHint  

  final boolean isScaleHint();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 164
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
            ireturn
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;

  final boolean isRotateHint();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 165
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ireturn
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;

  boolean matchesHint(javafx.scene.CacheHint);
    descriptor: (Ljavafx/scene/CacheHint;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // javafx.scene.CacheHint cacheHint
         0: .line 172
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheHint:Ljavafx/scene/CacheHint;
            aload 1 /* cacheHint */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javafx.scene.CacheHint cacheHint
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    2     1  cacheHint  Ljavafx/scene/CacheHint;
    MethodParameters:
           Name  Flags
      cacheHint  

  boolean unsupported(double[]);
    descriptor: ([D)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] xformInfo
         0: .line 181
            aload 1 /* xformInfo */
            iconst_0
            daload
            dstore 2 /* scaleX */
        start local 2 // double scaleX
         1: .line 182
            aload 1 /* xformInfo */
            iconst_1
            daload
            dstore 4 /* scaleY */
        start local 4 // double scaleY
         2: .line 183
            aload 1 /* xformInfo */
            iconst_2
            daload
            dstore 6 /* rotate */
        start local 6 // double rotate
         3: .line 186
            dload 6 /* rotate */
            ldc 1.0E-7
            dcmpl
            ifgt 4
            dload 6 /* rotate */
            ldc -1.0E-7
            dcmpg
            ifge 11
         4: .line 189
      StackMap locals: double double double
      StackMap stack:
            dload 2 /* scaleX */
            dload 4 /* scaleY */
            ldc 1.0E-7
            dadd
            dcmpl
            ifgt 10
            dload 4 /* scaleY */
            dload 2 /* scaleX */
            ldc 1.0E-7
            dadd
            dcmpl
            ifgt 10
         5: .line 190
            dload 2 /* scaleX */
            dload 4 /* scaleY */
            ldc 1.0E-7
            dsub
            dcmpg
            iflt 10
            dload 4 /* scaleY */
            dload 2 /* scaleX */
            ldc 1.0E-7
            dsub
            dcmpg
            iflt 10
         6: .line 191
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ldc 1.0E-7
            dadd
            dcmpl
            ifgt 10
         7: .line 192
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ldc 1.0E-7
            dadd
            dcmpl
            ifgt 10
         8: .line 193
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ldc 1.0E-7
            dsub
            dcmpg
            iflt 10
         9: .line 194
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ldc 1.0E-7
            dsub
            dcmpg
            ifge 11
        10: .line 195
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 198
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // double rotate
        end local 4 // double scaleY
        end local 2 // double scaleX
        end local 1 // double[] xformInfo
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   12     1  xformInfo  [D
            1   12     2     scaleX  D
            2   12     4     scaleY  D
            3   12     6     rotate  D
    MethodParameters:
           Name  Flags
      xformInfo  

  private boolean isXformScrollCacheCapable(double[]);
    descriptor: ([D)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] xformInfo
         0: .line 202
            aload 0 /* this */
            aload 1 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
            ifeq 2
         1: .line 203
            iconst_0
            ireturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 1 /* xformInfo */
            iconst_2
            daload
            dstore 2 /* rotate */
        start local 2 // double rotate
         3: .line 206
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ifne 4
            dload 2 /* rotate */
            dconst_0
            dcmpl
            ifeq 4
            iconst_0
            ireturn
      StackMap locals: double
      StackMap stack:
         4: iconst_1
            ireturn
        end local 2 // double rotate
        end local 1 // double[] xformInfo
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    5     1  xformInfo  [D
            3    5     2     rotate  D
    MethodParameters:
           Name  Flags
      xformInfo  

  private boolean needToRenderCache(com.sun.javafx.geom.transform.BaseTransform, double[], float, float);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;[DFF)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform renderXform
        start local 2 // double[] xformInfo
        start local 3 // float pixelScaleX
        start local 4 // float pixelScaleY
         0: .line 217
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            ifnonnull 2
         1: .line 218
            iconst_1
            ireturn
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            dconst_0
            dcmpl
            ifne 3
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            dconst_0
            dcmpl
            ifeq 14
         3: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            invokestatic java.lang.Math.abs:(D)D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.width:I
            i2d
            dcmpl
            ifge 5
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            invokestatic java.lang.Math.abs:(D)D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            getfield com.sun.javafx.geom.Rectangle.height:I
            i2d
            dcmpl
            ifge 5
         4: .line 223
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            invokestatic java.lang.Math.rint:(D)D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            dcmpl
            ifne 5
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            invokestatic java.lang.Math.rint:(D)D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            dcmpl
            ifeq 8
         5: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.clearDirtyTree:()V
         6: .line 225
            aload 0 /* this */
            aload 0 /* this */
            dconst_0
            dup2_x1
            putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
         7: .line 226
            iconst_1
            ireturn
         8: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            if_acmpne 14
         9: .line 229
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.scrollCacheCapable:()Z
            ifeq 12
            aload 0 /* this */
            aload 2 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.isXformScrollCacheCapable:([D)Z
            ifeq 12
        10: .line 230
            aload 0 /* this */
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
        11: .line 231
            goto 14
        12: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.DISABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
        13: .line 233
            iconst_1
            ireturn
        14: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxx:()D
            aload 1 /* renderXform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            dcmpl
            ifne 19
        15: .line 240
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyy:()D
            aload 1 /* renderXform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
            dcmpl
            ifne 19
        16: .line 241
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxy:()D
            aload 1 /* renderXform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            dcmpl
            ifne 19
        17: .line 242
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyx:()D
            aload 1 /* renderXform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
            dcmpl
            ifne 19
        18: .line 244
            iconst_0
            ireturn
        19: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
            ifne 20
            aload 0 /* this */
            aload 2 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
            ifeq 21
        20: .line 248
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        21: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* xformInfo */
            iconst_0
            daload
            dstore 5 /* scaleX */
        start local 5 // double scaleX
        22: .line 252
            aload 2 /* xformInfo */
            iconst_1
            daload
            dstore 7 /* scaleY */
        start local 7 // double scaleY
        23: .line 253
            aload 2 /* xformInfo */
            iconst_2
            daload
            dstore 9 /* rotate */
        start local 9 // double rotate
        24: .line 254
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
            ifeq 32
        25: .line 255
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            fload 3 /* pixelScaleX */
            f2d
            dcmpg
            iflt 26
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            fload 4 /* pixelScaleY */
            f2d
            dcmpg
            ifge 27
        26: .line 260
      StackMap locals: double double double
      StackMap stack:
            iconst_1
            ireturn
        27: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ifeq 29
        28: .line 263
            iconst_0
            ireturn
        29: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
            ldc 1.0E-7
            dsub
            dload 9 /* rotate */
            dcmpg
            ifge 31
            dload 9 /* rotate */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
            ldc 1.0E-7
            dadd
            dcmpg
            ifge 31
        30: .line 267
            iconst_0
            ireturn
        31: .line 269
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        32: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ifeq 37
        33: .line 275
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ldc 1.0E-7
            dsub
            dload 5 /* scaleX */
            dcmpg
            ifge 36
            dload 5 /* scaleX */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ldc 1.0E-7
            dadd
            dcmpg
            ifge 36
        34: .line 276
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ldc 1.0E-7
            dsub
            dload 7 /* scaleY */
            dcmpg
            ifge 36
            dload 7 /* scaleY */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ldc 1.0E-7
            dadd
            dcmpg
            ifge 36
        35: .line 277
            iconst_0
            ireturn
        36: .line 279
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        37: .line 283
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // double rotate
        end local 7 // double scaleY
        end local 5 // double scaleX
        end local 4 // float pixelScaleY
        end local 3 // float pixelScaleX
        end local 2 // double[] xformInfo
        end local 1 // com.sun.javafx.geom.transform.BaseTransform renderXform
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   38     0         this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   38     1  renderXform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   38     2    xformInfo  [D
            0   38     3  pixelScaleX  F
            0   38     4  pixelScaleY  F
           22   38     5       scaleX  D
           23   38     7       scaleY  D
           24   38     9       rotate  D
    MethodParameters:
             Name  Flags
      renderXform  
      xformInfo    
      pixelScaleX  
      pixelScaleY  

  void updateScreenXform(double[]);
    descriptor: ([D)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] xformInfo
         0: .line 296
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
            ifeq 12
         1: .line 297
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ifeq 8
         2: .line 298
            aload 1 /* xformInfo */
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ddiv
            dstore 2 /* screenScaleX */
        start local 2 // double screenScaleX
         3: .line 299
            aload 1 /* xformInfo */
            iconst_1
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ddiv
            dstore 4 /* screenScaleY */
        start local 4 // double screenScaleY
         4: .line 300
            aload 1 /* xformInfo */
            iconst_2
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
            dsub
            dstore 6 /* screenRotate */
        start local 6 // double screenRotate
         5: .line 302
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            dload 2 /* screenScaleX */
            dload 4 /* screenScaleY */
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setToScale:(DD)V
         6: .line 303
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            dload 6 /* screenRotate */
            invokevirtual com.sun.javafx.geom.transform.Affine2D.rotate:(D)V
        end local 6 // double screenRotate
        end local 4 // double screenScaleY
        end local 2 // double screenScaleX
         7: .line 304
            goto 17
         8: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* xformInfo */
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            ddiv
            dstore 2 /* screenScaleX */
        start local 2 // double screenScaleX
         9: .line 306
            aload 1 /* xformInfo */
            iconst_1
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
            ddiv
            dstore 4 /* screenScaleY */
        start local 4 // double screenScaleY
        10: .line 307
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            dload 2 /* screenScaleX */
            dload 4 /* screenScaleY */
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setToScale:(DD)V
        end local 4 // double screenScaleY
        end local 2 // double screenScaleX
        11: .line 309
            goto 17
        12: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
            ifeq 16
        13: .line 311
            aload 1 /* xformInfo */
            iconst_2
            daload
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
            dsub
            dstore 2 /* screenRotate */
        start local 2 // double screenRotate
        14: .line 312
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            dload 2 /* screenRotate */
            dconst_0
            dconst_0
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setToRotation:(DDD)V
        end local 2 // double screenRotate
        15: .line 313
            goto 17
        16: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        17: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 1 // double[] xformInfo
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   18     1     xformInfo  [D
            3    7     2  screenScaleX  D
            4    7     4  screenScaleY  D
            5    7     6  screenRotate  D
            9   11     2  screenScaleX  D
           10   11     4  screenScaleY  D
           14   15     2  screenRotate  D
    MethodParameters:
           Name  Flags
      xformInfo  

  public void invalidate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 321
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            if_acmpne 2
         1: .line 322
            aload 0 /* this */
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
         2: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
         3: .line 325
            aload 0 /* this */
            aload 0 /* this */
            dconst_0
            dup2_x1
            putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
         4: .line 326
            return
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;

  void imageDataUnref();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 329
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            ifnull 3
         1: .line 330
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.dispose:()V
         2: .line 331
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
         3: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            ifnull 9
         4: .line 337
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            astore 1 /* implImage */
        start local 1 // com.sun.scenario.effect.Filterable implImage
         5: .line 338
            aload 1 /* implImage */
            ifnull 7
         6: .line 339
            aload 1 /* implImage */
            invokeinterface com.sun.scenario.effect.Filterable.lock:()V
         7: .line 341
      StackMap locals: com.sun.scenario.effect.Filterable
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.unref:()V
         8: .line 342
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
        end local 1 // com.sun.scenario.effect.Filterable implImage
         9: .line 344
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            5    9     1  implImage  Lcom/sun/scenario/effect/Filterable;

  void invalidateByTranslation(double, double);
    descriptor: (DD)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double translateXDelta
        start local 3 // double translateYDelta
         0: .line 347
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            ifnonnull 2
         1: .line 348
            return
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.DISABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            if_acmpne 5
         3: .line 352
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
         4: .line 353
            goto 10
         5: .line 355
      StackMap locals:
      StackMap stack:
            dload 1 /* translateXDelta */
            dconst_0
            dcmpl
            ifeq 8
            dload 3 /* translateYDelta */
            dconst_0
            dcmpl
            ifeq 8
         6: .line 356
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
         7: .line 357
            goto 10
         8: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 3 /* translateYDelta */
            putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
         9: .line 359
            aload 0 /* this */
            dload 1 /* translateXDelta */
            putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
        10: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double translateYDelta
        end local 1 // double translateXDelta
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   11     1  translateXDelta  D
            0   11     3  translateYDelta  D
    MethodParameters:
                 Name  Flags
      translateXDelta  
      translateYDelta  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 365
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
         1: .line 366
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
         2: .line 367
            return
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;

  double[] unmatrix(com.sun.javafx.geom.transform.BaseTransform);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;)[D
    flags: (0x0000) 
    Code:
      stack=8, locals=20, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform xform
         0: .line 393
            iconst_3
            newarray 7
            astore 2 /* retVal */
        start local 2 // double[] retVal
         1: .line 395
            iconst_2
            anewarray double[]
            dup
            iconst_0
            iconst_2
            newarray 7
            dup
            iconst_0
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            dastore
            dup
            iconst_1
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            dastore
            aastore
            dup
            iconst_1
         2: .line 396
            iconst_2
            newarray 7
            dup
            iconst_0
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
            dastore
            dup
            iconst_1
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
            dastore
            aastore
         3: .line 395
            astore 3 /* row */
        start local 3 // double[][] row
         4: .line 397
            aload 0 /* this */
            aload 3 /* row */
            iconst_0
            aaload
            iconst_0
            daload
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unitDir:(D)D
            dstore 4 /* xSignum */
        start local 4 // double xSignum
         5: .line 398
            aload 0 /* this */
            aload 3 /* row */
            iconst_1
            aaload
            iconst_1
            daload
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unitDir:(D)D
            dstore 6 /* ySignum */
        start local 6 // double ySignum
         6: .line 404
            dload 4 /* xSignum */
            aload 0 /* this */
            aload 3 /* row */
            iconst_0
            aaload
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
            dmul
            dstore 8 /* scaleX */
        start local 8 // double scaleX
         7: .line 405
            aload 0 /* this */
            aload 3 /* row */
            iconst_0
            aaload
            dload 4 /* xSignum */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2scale:([DD)V
         8: .line 412
            aload 0 /* this */
            aload 3 /* row */
            iconst_0
            aaload
            aload 3 /* row */
            iconst_1
            aaload
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2dot:([D[D)D
            dstore 10 /* shearXY */
        start local 10 // double shearXY
         9: .line 415
            aload 0 /* this */
            aload 3 /* row */
            iconst_1
            aaload
            aload 3 /* row */
            iconst_0
            aaload
            aload 3 /* row */
            iconst_1
            aaload
            dconst_1
            dload 10 /* shearXY */
            dneg
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2combine:([D[D[DDD)V
        10: .line 422
            dload 6 /* ySignum */
            aload 0 /* this */
            aload 3 /* row */
            iconst_1
            aaload
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
            dmul
            dstore 12 /* scaleY */
        start local 12 // double scaleY
        11: .line 423
            aload 0 /* this */
            aload 3 /* row */
            iconst_1
            aaload
            dload 6 /* ySignum */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2scale:([DD)V
        12: .line 433
            aload 3 /* row */
            iconst_1
            aaload
            iconst_0
            daload
            dstore 14 /* sin */
        start local 14 // double sin
        13: .line 434
            aload 3 /* row */
            iconst_0
            aaload
            iconst_0
            daload
            dstore 16 /* cos */
        start local 16 // double cos
        14: .line 435
            dconst_0
            dstore 18 /* angleRad */
        start local 18 // double angleRad
        15: .line 440
            dload 14 /* sin */
            dconst_0
            dcmpl
            iflt 18
        16: .line 442
            dload 16 /* cos */
            invokestatic java.lang.Math.acos:(D)D
            dstore 18 /* angleRad */
        17: .line 443
            goto 22
        18: .line 444
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.javafx.geom.transform.BaseTransform double[] double[][] double double double double double double double double
      StackMap stack:
            dload 16 /* cos */
            dconst_0
            dcmpl
            ifle 21
        19: .line 447
            ldc 6.283185307179586
            dload 14 /* sin */
            invokestatic java.lang.Math.asin:(D)D
            dadd
            dstore 18 /* angleRad */
        20: .line 448
            goto 22
        21: .line 452
      StackMap locals:
      StackMap stack:
            ldc 3.141592653589793
            dload 16 /* cos */
            dneg
            invokestatic java.lang.Math.acos:(D)D
            dadd
            dstore 18 /* angleRad */
        22: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* retVal */
            iconst_0
            dload 8 /* scaleX */
            dastore
        23: .line 457
            aload 2 /* retVal */
            iconst_1
            dload 12 /* scaleY */
            dastore
        24: .line 458
            aload 2 /* retVal */
            iconst_2
            dload 18 /* angleRad */
            dastore
        25: .line 460
            aload 2 /* retVal */
            areturn
        end local 18 // double angleRad
        end local 16 // double cos
        end local 14 // double sin
        end local 12 // double scaleY
        end local 10 // double shearXY
        end local 8 // double scaleX
        end local 6 // double ySignum
        end local 4 // double xSignum
        end local 3 // double[][] row
        end local 2 // double[] retVal
        end local 1 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   26     1     xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            1   26     2    retVal  [D
            4   26     3       row  [[D
            5   26     4   xSignum  D
            6   26     6   ySignum  D
            7   26     8    scaleX  D
            9   26    10   shearXY  D
           11   26    12    scaleY  D
           13   26    14       sin  D
           14   26    16       cos  D
           15   26    18  angleRad  D
    MethodParameters:
       Name  Flags
      xform  

  double unitDir(double);
    descriptor: (D)D
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double v
         0: .line 469
            dload 1 /* v */
            dconst_0
            dcmpg
            ifge 1
            ldc -1.0
            goto 2
      StackMap locals:
      StackMap stack:
         1: dconst_1
      StackMap locals:
      StackMap stack: double
         2: dreturn
        end local 1 // double v
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    3     1     v  D
    MethodParameters:
      Name  Flags
      v     

  void v2combine(double[], double[], double[], double, double);
    descriptor: ([D[D[DDD)V
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] v0
        start local 2 // double[] v1
        start local 3 // double[] result
        start local 4 // double scalarA
        start local 6 // double scalarB
         0: .line 492
            aload 3 /* result */
            iconst_0
            dload 4 /* scalarA */
            aload 1 /* v0 */
            iconst_0
            daload
            dmul
            dload 6 /* scalarB */
            aload 2 /* v1 */
            iconst_0
            daload
            dmul
            dadd
            dastore
         1: .line 493
            aload 3 /* result */
            iconst_1
            dload 4 /* scalarA */
            aload 1 /* v0 */
            iconst_1
            daload
            dmul
            dload 6 /* scalarB */
            aload 2 /* v1 */
            iconst_1
            daload
            dmul
            dadd
            dastore
         2: .line 494
            return
        end local 6 // double scalarB
        end local 4 // double scalarA
        end local 3 // double[] result
        end local 2 // double[] v1
        end local 1 // double[] v0
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    3     1       v0  [D
            0    3     2       v1  [D
            0    3     3   result  [D
            0    3     4  scalarA  D
            0    3     6  scalarB  D
    MethodParameters:
         Name  Flags
      v0       
      v1       
      result   
      scalarA  
      scalarB  

  double v2dot(double[], double[]);
    descriptor: ([D[D)D
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] v0
        start local 2 // double[] v1
         0: .line 500
            aload 1 /* v0 */
            iconst_0
            daload
            aload 2 /* v1 */
            iconst_0
            daload
            dmul
            aload 1 /* v0 */
            iconst_1
            daload
            aload 2 /* v1 */
            iconst_1
            daload
            dmul
            dadd
            dreturn
        end local 2 // double[] v1
        end local 1 // double[] v0
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    1     1    v0  [D
            0    1     2    v1  [D
    MethodParameters:
      Name  Flags
      v0    
      v1    

  void v2scale(double[], double);
    descriptor: ([DD)V
    flags: (0x0000) 
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] v
        start local 2 // double newLen
         0: .line 509
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
            dstore 4 /* len */
        start local 4 // double len
         1: .line 510
            dload 4 /* len */
            dconst_0
            dcmpl
            ifeq 4
         2: .line 511
            aload 1 /* v */
            iconst_0
            dup2
            daload
            dload 2 /* newLen */
            dload 4 /* len */
            ddiv
            dmul
            dastore
         3: .line 512
            aload 1 /* v */
            iconst_1
            dup2
            daload
            dload 2 /* newLen */
            dload 4 /* len */
            ddiv
            dmul
            dastore
         4: .line 514
      StackMap locals: double
      StackMap stack:
            return
        end local 4 // double len
        end local 2 // double newLen
        end local 1 // double[] v
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    5     1       v  [D
            0    5     2  newLen  D
            1    5     4     len  D
    MethodParameters:
        Name  Flags
      v       
      newLen  

  double v2length(double[]);
    descriptor: ([D)D
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // double[] v
         0: .line 522
            aload 1 /* v */
            iconst_0
            daload
            aload 1 /* v */
            iconst_0
            daload
            dmul
            aload 1 /* v */
            iconst_1
            daload
            aload 1 /* v */
            iconst_1
            daload
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dreturn
        end local 1 // double[] v
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    1     1     v  [D
    MethodParameters:
      Name  Flags
      v     

  void render(com.sun.prism.Graphics);
    descriptor: (Lcom/sun/prism/Graphics;)V
    flags: (0x0000) 
    Code:
      stack=13, locals=13, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.prism.Graphics g
         0: .line 527
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getTransformNoClone:()Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 2 /* xform */
        start local 2 // com.sun.javafx.geom.transform.BaseTransform xform
         1: .line 528
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getAssociatedScreen:()Lcom/sun/glass/ui/Screen;
            invokestatic com.sun.scenario.effect.impl.prism.PrFilterContext.getInstance:(Lcom/sun/glass/ui/Screen;)Lcom/sun/scenario/effect/impl/prism/PrFilterContext;
            astore 3 /* fctx */
        start local 3 // com.sun.scenario.effect.FilterContext fctx
         2: .line 530
            aload 0 /* this */
            aload 2 /* xform */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unmatrix:(Lcom/sun/javafx/geom/transform/BaseTransform;)[D
            astore 4 /* xformInfo */
        start local 4 // double[] xformInfo
         3: .line 531
            aload 0 /* this */
            aload 4 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
            istore 5 /* isUnsupported */
        start local 5 // boolean isUnsupported
         4: .line 533
            aload 0 /* this */
            dup
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            aload 4 /* xformInfo */
            iconst_0
            daload
            dmul
            putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
         5: .line 534
            aload 0 /* this */
            dup
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            aload 4 /* xformInfo */
            iconst_1
            daload
            dmul
            putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
         6: .line 536
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            ifnull 13
         7: .line 537
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            astore 6 /* implImage */
        start local 6 // com.sun.scenario.effect.Filterable implImage
         8: .line 538
            aload 6 /* implImage */
            ifnull 13
         9: .line 539
            aload 6 /* implImage */
            invokeinterface com.sun.scenario.effect.Filterable.lock:()V
        10: .line 540
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            aload 3 /* fctx */
            invokevirtual com.sun.scenario.effect.ImageData.validate:(Lcom/sun/scenario/effect/FilterContext;)Z
            ifne 13
        11: .line 541
            aload 6 /* implImage */
            invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
        12: .line 542
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
        end local 6 // com.sun.scenario.effect.Filterable implImage
        13: .line 546
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.prism.Graphics com.sun.javafx.geom.transform.BaseTransform com.sun.scenario.effect.FilterContext double[] int
      StackMap stack:
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getPixelScaleFactorX:()F
            fstore 6 /* pixelScaleX */
        start local 6 // float pixelScaleX
        14: .line 547
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getPixelScaleFactorY:()F
            fstore 7 /* pixelScaleY */
        start local 7 // float pixelScaleY
        15: .line 548
            aload 0 /* this */
            aload 2 /* xform */
            aload 4 /* xformInfo */
            fload 6 /* pixelScaleX */
            fload 7 /* pixelScaleY */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.needToRenderCache:(Lcom/sun/javafx/geom/transform/BaseTransform;[DFF)Z
            ifeq 48
        16: .line 549
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 18
        17: .line 550
            ldc "CacheFilter rebuilding"
            invokestatic com.sun.javafx.logging.PulseLogger.incrementCounter:(Ljava/lang/String;)V
        18: .line 552
      StackMap locals: float float
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            ifnull 23
        19: .line 553
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            astore 8 /* implImage */
        start local 8 // com.sun.scenario.effect.Filterable implImage
        20: .line 554
            aload 8 /* implImage */
            ifnull 22
        21: .line 555
            aload 8 /* implImage */
            invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
        22: .line 557
      StackMap locals: com.sun.scenario.effect.Filterable
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
        end local 8 // com.sun.scenario.effect.Filterable implImage
        23: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
            ifeq 33
        24: .line 563
            aload 0 /* this */
            fload 6 /* pixelScaleX */
            f2d
            aload 4 /* xformInfo */
            iconst_0
            daload
            invokestatic java.lang.Math.max:(DD)D
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
        25: .line 564
            aload 0 /* this */
            fload 7 /* pixelScaleY */
            f2d
            aload 4 /* xformInfo */
            iconst_1
            daload
            invokestatic java.lang.Math.max:(DD)D
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
        26: .line 565
            aload 0 /* this */
            dconst_0
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
        27: .line 566
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
            dconst_0
        28: .line 567
            dconst_0
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
        29: .line 568
            dconst_0
            dconst_0
        30: .line 566
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(DDDDDD)V
        31: .line 569
            aload 0 /* this */
            aload 4 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.updateScreenXform:([D)V
        32: .line 570
            goto 41
        33: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* xformInfo */
            iconst_0
            daload
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
        34: .line 572
            aload 0 /* this */
            aload 4 /* xformInfo */
            iconst_1
            daload
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
        35: .line 573
            aload 0 /* this */
            aload 4 /* xformInfo */
            iconst_2
            daload
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
        36: .line 576
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
        37: .line 577
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
        38: .line 578
            dconst_0
            dconst_0
        39: .line 576
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(DDDDDD)V
        40: .line 582
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        41: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.getCacheBounds:(Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/Rectangle;
            putfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
        42: .line 586
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* fctx */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.createImageData:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/scenario/effect/ImageData;
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
        43: .line 587
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            aconst_null
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToCache:(Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
        44: .line 590
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 8 /* cachedBounds */
        start local 8 // com.sun.javafx.geom.Rectangle cachedBounds
        45: .line 595
            aload 0 /* this */
            aload 8 /* cachedBounds */
            getfield com.sun.javafx.geom.Rectangle.x:I
            i2d
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedX:D
        46: .line 596
            aload 0 /* this */
            aload 8 /* cachedBounds */
            getfield com.sun.javafx.geom.Rectangle.y:I
            i2d
            putfield com.sun.javafx.sg.prism.CacheFilter.cachedY:D
        end local 8 // com.sun.javafx.geom.Rectangle cachedBounds
        47: .line 598
            goto 57
        48: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
            if_acmpne 53
        49: .line 600
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            dconst_0
            dcmpl
            ifne 50
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            dconst_0
            dcmpl
            ifeq 53
        50: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.moveCacheBy:(Lcom/sun/scenario/effect/ImageData;DD)V
        51: .line 602
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
            aload 0 /* this */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.computeDirtyRegionForTranslate:()Lcom/sun/javafx/geom/Rectangle;
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToCache:(Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
        52: .line 603
            aload 0 /* this */
            aload 0 /* this */
            dconst_0
            dup2_x1
            putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
            putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
        53: .line 606
      StackMap locals:
      StackMap stack:
            iload 5 /* isUnsupported */
            ifeq 56
        54: .line 613
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        55: .line 614
            goto 57
        56: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* xformInfo */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.updateScreenXform:([D)V
        57: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* isUnsupported */
            putfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
        58: .line 622
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            astore 8 /* implImage */
        start local 8 // com.sun.scenario.effect.Filterable implImage
        59: .line 623
            aload 8 /* implImage */
            ifnonnull 64
        60: .line 624
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 62
        61: .line 625
            ldc "CacheFilter not used"
            invokestatic com.sun.javafx.logging.PulseLogger.incrementCounter:(Ljava/lang/String;)V
        62: .line 627
      StackMap locals: com.sun.scenario.effect.Filterable
      StackMap stack:
            aload 0 /* this */
            aload 1 /* g */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToScreen:(Ljava/lang/Object;)V
        63: .line 628
            goto 68
        64: .line 629
      StackMap locals:
      StackMap stack:
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
            dstore 9 /* mxt */
        start local 9 // double mxt
        65: .line 630
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
            dstore 11 /* myt */
        start local 11 // double myt
        66: .line 631
            aload 0 /* this */
            aload 1 /* g */
            aload 8 /* implImage */
            dload 9 /* mxt */
            dload 11 /* myt */
            invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderCacheToScreen:(Ljava/lang/Object;Lcom/sun/scenario/effect/Filterable;DD)V
        67: .line 632
            aload 8 /* implImage */
            invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
        end local 11 // double myt
        end local 9 // double mxt
        68: .line 634
      StackMap locals:
      StackMap stack:
            return
        end local 8 // com.sun.scenario.effect.Filterable implImage
        end local 7 // float pixelScaleY
        end local 6 // float pixelScaleX
        end local 5 // boolean isUnsupported
        end local 4 // double[] xformInfo
        end local 3 // com.sun.scenario.effect.FilterContext fctx
        end local 2 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   69     0           this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   69     1              g  Lcom/sun/prism/Graphics;
            1   69     2          xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            2   69     3           fctx  Lcom/sun/scenario/effect/FilterContext;
            3   69     4      xformInfo  [D
            4   69     5  isUnsupported  Z
            8   13     6      implImage  Lcom/sun/scenario/effect/Filterable;
           14   69     6    pixelScaleX  F
           15   69     7    pixelScaleY  F
           20   23     8      implImage  Lcom/sun/scenario/effect/Filterable;
           45   47     8   cachedBounds  Lcom/sun/javafx/geom/Rectangle;
           59   69     8      implImage  Lcom/sun/scenario/effect/Filterable;
           65   68     9            mxt  D
           66   68    11            myt  D
    MethodParameters:
      Name  Flags
      g     

  com.sun.scenario.effect.ImageData createImageData(com.sun.scenario.effect.FilterContext, com.sun.javafx.geom.Rectangle);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/scenario/effect/ImageData;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
        start local 2 // com.sun.javafx.geom.Rectangle bounds
         0: .line 642
            aload 1 /* fctx */
         1: .line 643
            aload 2 /* bounds */
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 2 /* bounds */
            getfield com.sun.javafx.geom.Rectangle.height:I
         2: .line 642
            invokestatic com.sun.scenario.effect.Effect.getCompatibleImage:(Lcom/sun/scenario/effect/FilterContext;II)Lcom/sun/scenario/effect/Filterable;
            astore 3 /* ret */
        start local 3 // com.sun.scenario.effect.Filterable ret
         3: .line 644
            aload 3 /* ret */
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
            astore 4 /* cachedTex */
        start local 4 // com.sun.prism.Texture cachedTex
         4: .line 645
            aload 4 /* cachedTex */
            invokeinterface com.sun.prism.Texture.contentsUseful:()V
        end local 4 // com.sun.prism.Texture cachedTex
         5: .line 646
            goto 8
        end local 3 // com.sun.scenario.effect.Filterable ret
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: pop
         7: .line 647
            aconst_null
            astore 3 /* ret */
        start local 3 // com.sun.scenario.effect.Filterable ret
         8: .line 650
      StackMap locals: com.sun.scenario.effect.Filterable
      StackMap stack:
            new com.sun.scenario.effect.ImageData
            dup
            aload 1 /* fctx */
            aload 3 /* ret */
            aload 2 /* bounds */
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
            areturn
        end local 3 // com.sun.scenario.effect.Filterable ret
        end local 2 // com.sun.javafx.geom.Rectangle bounds
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    9     1       fctx  Lcom/sun/scenario/effect/FilterContext;
            0    9     2     bounds  Lcom/sun/javafx/geom/Rectangle;
            3    6     3        ret  Lcom/sun/scenario/effect/Filterable;
            8    9     3        ret  Lcom/sun/scenario/effect/Filterable;
            4    5     4  cachedTex  Lcom/sun/prism/Texture;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      fctx    
      bounds  

  void renderNodeToCache(com.sun.scenario.effect.ImageData, com.sun.javafx.geom.Rectangle, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle);
    descriptor: (Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.scenario.effect.ImageData cacheData
        start local 2 // com.sun.javafx.geom.Rectangle cacheBounds
        start local 3 // com.sun.javafx.geom.transform.BaseTransform xform
        start local 4 // com.sun.javafx.geom.Rectangle dirtyBounds
         0: .line 664
            aload 1 /* cacheData */
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            astore 5 /* image */
        start local 5 // com.sun.scenario.effect.impl.prism.PrDrawable image
         1: .line 666
            aload 5 /* image */
            ifnull 21
         2: .line 667
            aload 5 /* image */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.createGraphics:()Lcom/sun/prism/Graphics;
            astore 6 /* g */
        start local 6 // com.sun.prism.Graphics g
         3: .line 668
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
            invokevirtual com.sun.javafx.geom.transform.Affine3D.setToIdentity:()V
         4: .line 669
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 2 /* cacheBounds */
            getfield com.sun.javafx.geom.Rectangle.x:I
            ineg
            i2d
            aload 2 /* cacheBounds */
            getfield com.sun.javafx.geom.Rectangle.y:I
            ineg
            i2d
            invokevirtual com.sun.javafx.geom.transform.Affine3D.translate:(DD)V
         5: .line 670
            aload 3 /* xform */
            ifnull 7
         6: .line 671
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 3 /* xform */
            invokevirtual com.sun.javafx.geom.transform.Affine3D.concatenate:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
         7: .line 673
      StackMap locals: com.sun.scenario.effect.impl.prism.PrDrawable com.sun.prism.Graphics
      StackMap stack:
            aload 4 /* dirtyBounds */
            ifnull 13
         8: .line 674
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
            aload 4 /* dirtyBounds */
            invokevirtual com.sun.javafx.geom.RectBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/javafx/geom/BaseBounds;
            checkcast com.sun.javafx.geom.RectBounds
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.deriveWithNewRegion:(Lcom/sun/javafx/geom/RectBounds;)Lcom/sun/javafx/geom/DirtyRegionContainer;
            pop
         9: .line 676
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            invokevirtual com.sun.javafx.sg.prism.NGNode.doPreCulling:(Lcom/sun/javafx/geom/DirtyRegionContainer;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
        10: .line 677
            aload 6 /* g */
            iconst_1
            invokeinterface com.sun.prism.Graphics.setHasPreCullingBits:(Z)V
        11: .line 678
            aload 6 /* g */
            iconst_0
            invokeinterface com.sun.prism.Graphics.setClipRectIndex:(I)V
        12: .line 679
            aload 6 /* g */
            aload 4 /* dirtyBounds */
            invokeinterface com.sun.prism.Graphics.setClipRect:(Lcom/sun/javafx/geom/Rectangle;)V
        13: .line 681
      StackMap locals:
      StackMap stack:
            aload 6 /* g */
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
            invokeinterface com.sun.prism.Graphics.transform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        14: .line 682
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getClipNode:()Lcom/sun/javafx/sg/prism/NGNode;
            ifnull 17
        15: .line 683
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 6 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderClip:(Lcom/sun/prism/Graphics;)V
        16: .line 684
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getEffectFilter:()Lcom/sun/javafx/sg/prism/EffectFilter;
            ifnull 20
        18: .line 685
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 6 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderEffect:(Lcom/sun/prism/Graphics;)V
        19: .line 686
            goto 21
        20: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 6 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderContent:(Lcom/sun/prism/Graphics;)V
        end local 6 // com.sun.prism.Graphics g
        21: .line 690
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.sun.scenario.effect.impl.prism.PrDrawable image
        end local 4 // com.sun.javafx.geom.Rectangle dirtyBounds
        end local 3 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 2 // com.sun.javafx.geom.Rectangle cacheBounds
        end local 1 // com.sun.scenario.effect.ImageData cacheData
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   22     1    cacheData  Lcom/sun/scenario/effect/ImageData;
            0   22     2  cacheBounds  Lcom/sun/javafx/geom/Rectangle;
            0   22     3        xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   22     4  dirtyBounds  Lcom/sun/javafx/geom/Rectangle;
            1   22     5        image  Lcom/sun/scenario/effect/impl/prism/PrDrawable;
            3   21     6            g  Lcom/sun/prism/Graphics;
    MethodParameters:
             Name  Flags
      cacheData    
      cacheBounds  
      xform        
      dirtyBounds  

  void renderNodeToScreen(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // java.lang.Object implGraphics
         0: .line 697
            aload 1 /* implGraphics */
            checkcast com.sun.prism.Graphics
            astore 2 /* g */
        start local 2 // com.sun.prism.Graphics g
         1: .line 698
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getEffectFilter:()Lcom/sun/javafx/sg/prism/EffectFilter;
            ifnull 4
         2: .line 699
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 2 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderEffect:(Lcom/sun/prism/Graphics;)V
         3: .line 700
            goto 5
         4: .line 701
      StackMap locals: com.sun.prism.Graphics
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 2 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderContent:(Lcom/sun/prism/Graphics;)V
         5: .line 703
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.prism.Graphics g
        end local 1 // java.lang.Object implGraphics
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    6     1  implGraphics  Ljava/lang/Object;
            1    6     2             g  Lcom/sun/prism/Graphics;
    MethodParameters:
              Name  Flags
      implGraphics  

  void renderCacheToScreen(java.lang.Object, com.sun.scenario.effect.Filterable, double, double);
    descriptor: (Ljava/lang/Object;Lcom/sun/scenario/effect/Filterable;DD)V
    flags: (0x0000) 
    Code:
      stack=13, locals=10, args_size=5
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // java.lang.Object implGraphics
        start local 2 // com.sun.scenario.effect.Filterable implImage
        start local 3 // double mxt
        start local 5 // double myt
         0: .line 711
            aload 1 /* implGraphics */
            checkcast com.sun.prism.Graphics
            astore 7 /* g */
        start local 7 // com.sun.prism.Graphics g
         1: .line 713
            aload 7 /* g */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxx:()D
         2: .line 714
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyx:()D
         3: .line 715
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxy:()D
         4: .line 716
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
            invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyy:()D
         5: .line 717
            dload 3 /* mxt */
            dload 5 /* myt */
         6: .line 713
            invokeinterface com.sun.prism.Graphics.setTransform:(DDDDDD)V
         7: .line 718
            aload 7 /* g */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedX:D
            d2f
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedY:D
            d2f
            invokeinterface com.sun.prism.Graphics.translate:(FF)V
         8: .line 719
            aload 2 /* implImage */
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
            astore 8 /* cachedTex */
        start local 8 // com.sun.prism.Texture cachedTex
         9: .line 720
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 9 /* cachedBounds */
        start local 9 // com.sun.javafx.geom.Rectangle cachedBounds
        10: .line 721
            aload 7 /* g */
            aload 8 /* cachedTex */
            fconst_0
            fconst_0
        11: .line 722
            aload 9 /* cachedBounds */
            getfield com.sun.javafx.geom.Rectangle.width:I
            i2f
            aload 9 /* cachedBounds */
            getfield com.sun.javafx.geom.Rectangle.height:I
            i2f
        12: .line 721
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFF)V
        13: .line 724
            return
        end local 9 // com.sun.javafx.geom.Rectangle cachedBounds
        end local 8 // com.sun.prism.Texture cachedTex
        end local 7 // com.sun.prism.Graphics g
        end local 5 // double myt
        end local 3 // double mxt
        end local 2 // com.sun.scenario.effect.Filterable implImage
        end local 1 // java.lang.Object implGraphics
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   14     1  implGraphics  Ljava/lang/Object;
            0   14     2     implImage  Lcom/sun/scenario/effect/Filterable;
            0   14     3           mxt  D
            0   14     5           myt  D
            1   14     7             g  Lcom/sun/prism/Graphics;
            9   14     8     cachedTex  Lcom/sun/prism/Texture;
           10   14     9  cachedBounds  Lcom/sun/javafx/geom/Rectangle;
    MethodParameters:
              Name  Flags
      implGraphics  
      implImage     
      mxt           
      myt           

  boolean scrollCacheCapable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
         0: .line 730
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            instanceof com.sun.javafx.sg.prism.NGGroup
            ifne 2
         1: .line 731
            iconst_0
            ireturn
         2: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            checkcast com.sun.javafx.sg.prism.NGGroup
            invokevirtual com.sun.javafx.sg.prism.NGGroup.getChildren:()Ljava/util/List;
            astore 1 /* children */
        start local 1 // java.util.List children
         3: .line 734
            aload 1 /* children */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 5
         4: .line 735
            iconst_0
            ireturn
         5: .line 737
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* children */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.javafx.sg.prism.NGNode
            astore 2 /* child */
        start local 2 // com.sun.javafx.sg.prism.NGNode child
         6: .line 738
            aload 2 /* child */
            invokevirtual com.sun.javafx.sg.prism.NGNode.getTransform:()Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.is2D:()Z
            ifne 8
         7: .line 739
            iconst_0
            ireturn
         8: .line 742
      StackMap locals: com.sun.javafx.sg.prism.NGNode
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getClipNode:()Lcom/sun/javafx/sg/prism/NGNode;
            astore 3 /* clip */
        start local 3 // com.sun.javafx.sg.prism.NGNode clip
         9: .line 743
            aload 3 /* clip */
            ifnull 10
            aload 3 /* clip */
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            iconst_0
            invokevirtual com.sun.javafx.sg.prism.NGNode.isRectClip:(Lcom/sun/javafx/geom/transform/BaseTransform;Z)Z
            ifne 11
        10: .line 744
      StackMap locals: com.sun.javafx.sg.prism.NGNode
      StackMap stack:
            iconst_0
            ireturn
        11: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            instanceof com.sun.javafx.sg.prism.NGRegion
            ifeq 28
        12: .line 748
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            checkcast com.sun.javafx.sg.prism.NGRegion
            astore 4 /* region */
        start local 4 // com.sun.javafx.sg.prism.NGRegion region
        13: .line 749
            aload 4 /* region */
            invokevirtual com.sun.javafx.sg.prism.NGRegion.getBorder:()Ljavafx/scene/layout/Border;
            invokevirtual javafx.scene.layout.Border.isEmpty:()Z
            ifne 15
        14: .line 750
            iconst_0
            ireturn
        15: .line 752
      StackMap locals: com.sun.javafx.sg.prism.NGRegion
      StackMap stack:
            aload 4 /* region */
            invokevirtual com.sun.javafx.sg.prism.NGRegion.getBackground:()Ljavafx/scene/layout/Background;
            astore 5 /* background */
        start local 5 // javafx.scene.layout.Background background
        16: .line 754
            aload 5 /* background */
            invokevirtual javafx.scene.layout.Background.isEmpty:()Z
            ifne 28
        17: .line 755
            aload 5 /* background */
            invokevirtual javafx.scene.layout.Background.getImages:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 19
        18: .line 756
            aload 5 /* background */
            invokevirtual javafx.scene.layout.Background.getFills:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 20
        19: .line 757
      StackMap locals: javafx.scene.layout.Background
      StackMap stack:
            iconst_0
            ireturn
        20: .line 759
      StackMap locals:
      StackMap stack:
            aload 5 /* background */
            invokevirtual javafx.scene.layout.Background.getFills:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.layout.BackgroundFill
            astore 6 /* fill */
        start local 6 // javafx.scene.layout.BackgroundFill fill
        21: .line 760
            aload 6 /* fill */
            invokevirtual javafx.scene.layout.BackgroundFill.getFill:()Ljavafx/scene/paint/Paint;
            astore 7 /* fillPaint */
        start local 7 // javafx.scene.paint.Paint fillPaint
        22: .line 761
            aload 3 /* clip */
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getCompleteBounds:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/BaseBounds;
            astore 8 /* clipBounds */
        start local 8 // com.sun.javafx.geom.BaseBounds clipBounds
        23: .line 763
            aload 7 /* fillPaint */
            invokevirtual javafx.scene.paint.Paint.isOpaque:()Z
            ifeq 27
            aload 7 /* fillPaint */
            instanceof javafx.scene.paint.Color
            ifeq 27
            aload 6 /* fill */
            invokevirtual javafx.scene.layout.BackgroundFill.getInsets:()Ljavafx/geometry/Insets;
            getstatic javafx.geometry.Insets.EMPTY:Ljavafx/geometry/Insets;
            invokevirtual javafx.geometry.Insets.equals:(Ljava/lang/Object;)Z
            ifeq 27
        24: .line 764
            aload 8 /* clipBounds */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMinX:()F
            fconst_0
            fcmpl
            ifne 27
            aload 8 /* clipBounds */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMinY:()F
            fconst_0
            fcmpl
            ifne 27
        25: .line 765
            aload 8 /* clipBounds */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMaxX:()F
            aload 4 /* region */
            invokevirtual com.sun.javafx.sg.prism.NGRegion.getWidth:()F
            fcmpl
            ifne 27
            aload 8 /* clipBounds */
            invokevirtual com.sun.javafx.geom.BaseBounds.getMaxY:()F
            aload 4 /* region */
            invokevirtual com.sun.javafx.sg.prism.NGRegion.getHeight:()F
            fcmpl
            ifne 27
        26: .line 763
            iconst_1
            ireturn
      StackMap locals: javafx.scene.layout.BackgroundFill javafx.scene.paint.Paint com.sun.javafx.geom.BaseBounds
      StackMap stack:
        27: iconst_0
            ireturn
        end local 8 // com.sun.javafx.geom.BaseBounds clipBounds
        end local 7 // javafx.scene.paint.Paint fillPaint
        end local 6 // javafx.scene.layout.BackgroundFill fill
        end local 5 // javafx.scene.layout.Background background
        end local 4 // com.sun.javafx.sg.prism.NGRegion region
        28: .line 769
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter java.util.List com.sun.javafx.sg.prism.NGNode com.sun.javafx.sg.prism.NGNode
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // com.sun.javafx.sg.prism.NGNode clip
        end local 2 // com.sun.javafx.sg.prism.NGNode child
        end local 1 // java.util.List children
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lcom/sun/javafx/sg/prism/CacheFilter;
            3   29     1    children  Ljava/util/List<Lcom/sun/javafx/sg/prism/NGNode;>;
            6   29     2       child  Lcom/sun/javafx/sg/prism/NGNode;
            9   29     3        clip  Lcom/sun/javafx/sg/prism/NGNode;
           13   28     4      region  Lcom/sun/javafx/sg/prism/NGRegion;
           16   28     5  background  Ljavafx/scene/layout/Background;
           21   28     6        fill  Ljavafx/scene/layout/BackgroundFill;
           22   28     7   fillPaint  Ljavafx/scene/paint/Paint;
           23   28     8  clipBounds  Lcom/sun/javafx/geom/BaseBounds;

  void moveCacheBy(com.sun.scenario.effect.ImageData, double, double);
    descriptor: (Lcom/sun/scenario/effect/ImageData;DD)V
    flags: (0x0000) 
    Code:
      stack=11, locals=16, args_size=4
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.scenario.effect.ImageData cachedImageData
        start local 2 // double xDelta
        start local 4 // double yDelta
         0: .line 780
            aload 1 /* cachedImageData */
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            checkcast com.sun.scenario.effect.impl.prism.PrDrawable
            astore 6 /* drawable */
        start local 6 // com.sun.scenario.effect.impl.prism.PrDrawable drawable
         1: .line 781
            aload 1 /* cachedImageData */
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 7 /* r */
        start local 7 // com.sun.javafx.geom.Rectangle r
         2: .line 782
            dconst_0
            dload 2 /* xDelta */
            dneg
            invokestatic java.lang.Math.max:(DD)D
            d2i
            istore 8 /* x */
        start local 8 // int x
         3: .line 783
            dconst_0
            dload 4 /* yDelta */
            dneg
            invokestatic java.lang.Math.max:(DD)D
            d2i
            istore 9 /* y */
        start local 9 // int y
         4: .line 784
            dconst_0
            dload 2 /* xDelta */
            invokestatic java.lang.Math.max:(DD)D
            d2i
            istore 10 /* destX */
        start local 10 // int destX
         5: .line 785
            dconst_0
            dload 4 /* yDelta */
            invokestatic java.lang.Math.max:(DD)D
            d2i
            istore 11 /* destY */
        start local 11 // int destY
         6: .line 786
            aload 7 /* r */
            getfield com.sun.javafx.geom.Rectangle.width:I
            dload 2 /* xDelta */
            invokestatic java.lang.Math.abs:(D)D
            d2i
            isub
            istore 12 /* w */
        start local 12 // int w
         7: .line 787
            aload 7 /* r */
            getfield com.sun.javafx.geom.Rectangle.height:I
            dload 4 /* yDelta */
            invokestatic java.lang.Math.abs:(D)D
            d2i
            isub
            istore 13 /* h */
        start local 13 // int h
         8: .line 789
            aload 6 /* drawable */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.createGraphics:()Lcom/sun/prism/Graphics;
            astore 14 /* g */
        start local 14 // com.sun.prism.Graphics g
         9: .line 790
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            ifnull 13
        10: .line 791
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.lock:()V
        11: .line 792
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
            ifeq 13
        12: .line 793
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
        13: .line 796
      StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.scenario.effect.ImageData double double com.sun.scenario.effect.impl.prism.PrDrawable com.sun.javafx.geom.Rectangle int int int int int int com.sun.prism.Graphics
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            ifnonnull 19
        14: .line 797
            aload 0 /* this */
            aload 14 /* g */
            invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
        15: .line 798
            aload 6 /* drawable */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getPhysicalWidth:()I
            aload 6 /* drawable */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getPhysicalHeight:()I
        16: .line 799
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
        17: .line 798
            invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
        18: .line 797
            putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
        19: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            astore 15 /* tempG */
        start local 15 // com.sun.prism.Graphics tempG
        20: .line 802
            aload 15 /* tempG */
            invokeinterface com.sun.prism.Graphics.clear:()V
        21: .line 803
            aload 15 /* tempG */
            aload 6 /* drawable */
            invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
            fconst_0
            fconst_0
            iload 12 /* w */
            i2f
            iload 13 /* h */
            i2f
            iload 8 /* x */
            i2f
            iload 9 /* y */
            i2f
            iload 8 /* x */
            iload 12 /* w */
            iadd
            i2f
            iload 9 /* y */
            iload 13 /* h */
            iadd
            i2f
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
        22: .line 804
            aload 15 /* tempG */
            invokeinterface com.sun.prism.Graphics.sync:()V
        23: .line 806
            aload 14 /* g */
            invokeinterface com.sun.prism.Graphics.clear:()V
        24: .line 807
            aload 14 /* g */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            iload 10 /* destX */
            i2f
            iload 11 /* destY */
            i2f
            iload 10 /* destX */
            iload 12 /* w */
            iadd
            i2f
            iload 11 /* destY */
            iload 13 /* h */
            iadd
            i2f
            fconst_0
            fconst_0
            iload 12 /* w */
            i2f
            iload 13 /* h */
            i2f
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
        25: .line 808
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.unlock:()V
        26: .line 809
            return
        end local 15 // com.sun.prism.Graphics tempG
        end local 14 // com.sun.prism.Graphics g
        end local 13 // int h
        end local 12 // int w
        end local 11 // int destY
        end local 10 // int destX
        end local 9 // int y
        end local 8 // int x
        end local 7 // com.sun.javafx.geom.Rectangle r
        end local 6 // com.sun.scenario.effect.impl.prism.PrDrawable drawable
        end local 4 // double yDelta
        end local 2 // double xDelta
        end local 1 // com.sun.scenario.effect.ImageData cachedImageData
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   27     1  cachedImageData  Lcom/sun/scenario/effect/ImageData;
            0   27     2           xDelta  D
            0   27     4           yDelta  D
            1   27     6         drawable  Lcom/sun/scenario/effect/impl/prism/PrDrawable;
            2   27     7                r  Lcom/sun/javafx/geom/Rectangle;
            3   27     8                x  I
            4   27     9                y  I
            5   27    10            destX  I
            6   27    11            destY  I
            7   27    12                w  I
            8   27    13                h  I
            9   27    14                g  Lcom/sun/prism/Graphics;
           20   27    15            tempG  Lcom/sun/prism/Graphics;
    MethodParameters:
                 Name  Flags
      cachedImageData  
      xDelta           
      yDelta           

  com.sun.javafx.geom.Rectangle getCacheBounds(com.sun.javafx.geom.Rectangle, com.sun.javafx.geom.transform.BaseTransform);
    descriptor: (Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/Rectangle;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.javafx.geom.Rectangle bounds
        start local 2 // com.sun.javafx.geom.transform.BaseTransform xform
         0: .line 817
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
            aload 2 /* xform */
            invokevirtual com.sun.javafx.sg.prism.NGNode.getClippedBounds:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/BaseBounds;
            astore 3 /* b */
        start local 3 // com.sun.javafx.geom.BaseBounds b
         1: .line 818
            aload 1 /* bounds */
            aload 3 /* b */
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(Lcom/sun/javafx/geom/BaseBounds;)V
         2: .line 819
            aload 1 /* bounds */
            areturn
        end local 3 // com.sun.javafx.geom.BaseBounds b
        end local 2 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 1 // com.sun.javafx.geom.Rectangle bounds
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0    3     1  bounds  Lcom/sun/javafx/geom/Rectangle;
            0    3     2   xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            1    3     3       b  Lcom/sun/javafx/geom/BaseBounds;
    MethodParameters:
        Name  Flags
      bounds  
      xform   

  com.sun.javafx.geom.BaseBounds computeDirtyBounds(com.sun.javafx.geom.BaseBounds, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.transform.GeneralTransform3D);
    descriptor: (Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/BaseBounds;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.javafx.sg.prism.CacheFilter this
        start local 1 // com.sun.javafx.geom.BaseBounds region
        start local 2 // com.sun.javafx.geom.transform.BaseTransform tx
        start local 3 // com.sun.javafx.geom.transform.GeneralTransform3D pvTx
         0: .line 828
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            getfield com.sun.javafx.sg.prism.NGNode.dirtyBounds:Lcom/sun/javafx/geom/BaseBounds;
            invokevirtual com.sun.javafx.geom.BaseBounds.isEmpty:()Z
            ifne 3
         1: .line 829
            aload 1 /* region */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            getfield com.sun.javafx.sg.prism.NGNode.dirtyBounds:Lcom/sun/javafx/geom/BaseBounds;
            invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 1 /* region */
         2: .line 830
            goto 4
         3: .line 831
      StackMap locals:
      StackMap stack:
            aload 1 /* region */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            getfield com.sun.javafx.sg.prism.NGNode.transformedBounds:Lcom/sun/javafx/geom/BaseBounds;
            invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 1 /* region */
         4: .line 834
      StackMap locals:
      StackMap stack:
            aload 1 /* region */
            invokevirtual com.sun.javafx.geom.BaseBounds.isEmpty:()Z
            ifne 9
         5: .line 835
            aload 1 /* region */
            invokevirtual com.sun.javafx.geom.BaseBounds.roundOut:()V
         6: .line 836
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
            aload 1 /* region */
            invokevirtual com.sun.javafx.sg.prism.NGNode.computePadding:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 1 /* region */
         7: .line 837
            aload 2 /* tx */
            aload 1 /* region */
            aload 1 /* region */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 1 /* region */
         8: .line 838
            aload 3 /* pvTx */
            aload 1 /* region */
            aload 1 /* region */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.transform:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 1 /* region */
         9: .line 840
      StackMap locals:
      StackMap stack:
            aload 1 /* region */
            areturn
        end local 3 // com.sun.javafx.geom.transform.GeneralTransform3D pvTx
        end local 2 // com.sun.javafx.geom.transform.BaseTransform tx
        end local 1 // com.sun.javafx.geom.BaseBounds region
        end local 0 // com.sun.javafx.sg.prism.CacheFilter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/javafx/sg/prism/CacheFilter;
            0   10     1  region  Lcom/sun/javafx/geom/BaseBounds;
            0   10     2      tx  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   10     3    pvTx  Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    MethodParameters:
        Name  Flags
      region  
      tx      
      pvTx    
}
SourceFile: "CacheFilter.java"
NestMembers:
  com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState
InnerClasses:
  private final ScrollCacheState = com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState of com.sun.javafx.sg.prism.CacheFilter
  public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture