public class com.sun.scenario.effect.Identity extends com.sun.scenario.effect.Effect
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.scenario.effect.Identity
  super_class: com.sun.scenario.effect.Effect
{
  private com.sun.scenario.effect.Filterable src;
    descriptor: Lcom/sun/scenario/effect/Filterable;
    flags: (0x0002) ACC_PRIVATE

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

  private final java.util.Map<com.sun.scenario.effect.FilterContext, com.sun.scenario.effect.ImageData> datacache;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/ImageData;>;

  public void <init>(com.sun.scenario.effect.Filterable);
    descriptor: (Lcom/sun/scenario/effect/Filterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.scenario.effect.Filterable src
         0: .line 58
            aload 0 /* this */
            invokespecial com.sun.scenario.effect.Effect.<init>:()V
         1: .line 48
            aload 0 /* this */
            new com.sun.javafx.geom.Point2D
            dup
            invokespecial com.sun.javafx.geom.Point2D.<init>:()V
            putfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
         2: .line 49
            aload 0 /* this */
         3: .line 50
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.scenario.effect.Identity.datacache:Ljava/util/Map;
         4: .line 59
            aload 0 /* this */
            aload 1 /* src */
            putfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
         5: .line 60
            return
        end local 1 // com.sun.scenario.effect.Filterable src
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/scenario/effect/Identity;
            0    6     1   src  Lcom/sun/scenario/effect/Filterable;
    MethodParameters:
      Name  Flags
      src   

  public final com.sun.scenario.effect.Filterable getSource();
    descriptor: ()Lcom/sun/scenario/effect/Filterable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.Identity this
         0: .line 68
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            areturn
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/Identity;

  public void setSource(com.sun.scenario.effect.Filterable);
    descriptor: (Lcom/sun/scenario/effect/Filterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.scenario.effect.Filterable src
         0: .line 78
            aload 0 /* this */
            aload 1 /* src */
            putfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
         1: .line 79
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.Identity.clearCache:()V
         2: .line 80
            return
        end local 1 // com.sun.scenario.effect.Filterable src
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/scenario/effect/Identity;
            0    3     1   src  Lcom/sun/scenario/effect/Filterable;
    MethodParameters:
      Name  Flags
      src   

  public final com.sun.javafx.geom.Point2D getLocation();
    descriptor: ()Lcom/sun/javafx/geom/Point2D;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.Identity this
         0: .line 89
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            areturn
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/Identity;

  public void setLocation(com.sun.javafx.geom.Point2D);
    descriptor: (Lcom/sun/javafx/geom/Point2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.javafx.geom.Point2D pt
         0: .line 100
            aload 1 /* pt */
            ifnonnull 2
         1: .line 101
            new java.lang.IllegalArgumentException
            dup
            ldc "Location must be non-null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            aload 1 /* pt */
            invokevirtual com.sun.javafx.geom.Point2D.setLocation:(Lcom/sun/javafx/geom/Point2D;)V
         3: .line 105
            return
        end local 1 // com.sun.javafx.geom.Point2D pt
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/scenario/effect/Identity;
            0    4     1    pt  Lcom/sun/javafx/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public com.sun.javafx.geom.BaseBounds getBounds(com.sun.javafx.geom.transform.BaseTransform, com.sun.scenario.effect.Effect);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/scenario/effect/Effect;)Lcom/sun/javafx/geom/BaseBounds;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 2 // com.sun.scenario.effect.Effect defaultInput
         0: .line 111
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            ifnonnull 2
         1: .line 113
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            areturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            invokeinterface com.sun.scenario.effect.Filterable.getPhysicalWidth:()I
            i2f
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            invokeinterface com.sun.scenario.effect.Filterable.getPixelScale:()F
            fdiv
            fstore 3 /* srcw */
        start local 3 // float srcw
         3: .line 116
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            invokeinterface com.sun.scenario.effect.Filterable.getPhysicalHeight:()I
            i2f
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            invokeinterface com.sun.scenario.effect.Filterable.getPixelScale:()F
            fdiv
            fstore 4 /* srch */
        start local 4 // float srch
         4: .line 117
            new com.sun.javafx.geom.RectBounds
            dup
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.x:F
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.y:F
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.x:F
            fload 3 /* srcw */
            fadd
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.y:F
            fload 4 /* srch */
            fadd
            invokespecial com.sun.javafx.geom.RectBounds.<init>:(FFFF)V
            astore 5 /* r */
        start local 5 // com.sun.javafx.geom.BaseBounds r
         5: .line 118
            aload 1 /* transform */
            ifnull 7
            aload 1 /* transform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
            ifne 7
         6: .line 119
            aload 1 /* transform */
            aload 5 /* r */
            invokestatic com.sun.scenario.effect.Identity.transformBounds:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            astore 5 /* r */
         7: .line 121
      StackMap locals: float float com.sun.javafx.geom.BaseBounds
      StackMap stack:
            aload 5 /* r */
            areturn
        end local 5 // com.sun.javafx.geom.BaseBounds r
        end local 4 // float srch
        end local 3 // float srcw
        end local 2 // com.sun.scenario.effect.Effect defaultInput
        end local 1 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/sun/scenario/effect/Identity;
            0    8     1     transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0    8     2  defaultInput  Lcom/sun/scenario/effect/Effect;
            3    8     3          srcw  F
            4    8     4          srch  F
            5    8     5             r  Lcom/sun/javafx/geom/BaseBounds;
    MethodParameters:
              Name  Flags
      transform     
      defaultInput  

  public com.sun.scenario.effect.ImageData filter(com.sun.scenario.effect.FilterContext, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, java.lang.Object, com.sun.scenario.effect.Effect);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
        start local 2 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 3 // com.sun.javafx.geom.Rectangle outputClip
        start local 4 // java.lang.Object renderHelper
        start local 5 // com.sun.scenario.effect.Effect defaultInput
         0: .line 134
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.datacache:Ljava/util/Map;
            aload 1 /* fctx */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.scenario.effect.ImageData
            astore 6 /* id */
        start local 6 // com.sun.scenario.effect.ImageData id
         1: .line 135
            aload 6 /* id */
            ifnull 6
            aload 6 /* id */
            invokevirtual com.sun.scenario.effect.ImageData.addref:()Z
            ifne 6
         2: .line 136
            aload 6 /* id */
            iconst_0
            invokevirtual com.sun.scenario.effect.ImageData.setReusable:(Z)V
         3: .line 137
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.datacache:Ljava/util/Map;
            aload 1 /* fctx */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 138
            aload 6 /* id */
            invokevirtual com.sun.scenario.effect.ImageData.unref:()V
         5: .line 139
            aconst_null
            astore 6 /* id */
         6: .line 141
      StackMap locals: com.sun.scenario.effect.ImageData
      StackMap stack:
            aload 6 /* id */
            ifnonnull 18
         7: .line 142
            aload 1 /* fctx */
            invokestatic com.sun.scenario.effect.impl.Renderer.getRenderer:(Lcom/sun/scenario/effect/FilterContext;)Lcom/sun/scenario/effect/impl/Renderer;
            astore 7 /* r */
        start local 7 // com.sun.scenario.effect.impl.Renderer r
         8: .line 143
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.src:Lcom/sun/scenario/effect/Filterable;
            astore 8 /* f */
        start local 8 // com.sun.scenario.effect.Filterable f
         9: .line 144
            aload 8 /* f */
            ifnonnull 13
        10: .line 145
            aload 1 /* fctx */
            iconst_1
            iconst_1
            invokestatic com.sun.scenario.effect.Identity.getCompatibleImage:(Lcom/sun/scenario/effect/FilterContext;II)Lcom/sun/scenario/effect/Filterable;
            astore 8 /* f */
        11: .line 146
            new com.sun.scenario.effect.ImageData
            dup
            aload 1 /* fctx */
            aload 8 /* f */
            new com.sun.javafx.geom.Rectangle
            dup
            iconst_1
            iconst_1
            invokespecial com.sun.javafx.geom.Rectangle.<init>:(II)V
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
            astore 6 /* id */
        12: .line 147
            goto 14
        13: .line 148
      StackMap locals: com.sun.scenario.effect.impl.Renderer com.sun.scenario.effect.Filterable
      StackMap stack:
            aload 7 /* r */
            aload 1 /* fctx */
            aload 8 /* f */
            invokevirtual com.sun.scenario.effect.impl.Renderer.createImageData:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;)Lcom/sun/scenario/effect/ImageData;
            astore 6 /* id */
        14: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* id */
            ifnonnull 16
        15: .line 151
            new com.sun.scenario.effect.ImageData
            dup
            aload 1 /* fctx */
            aconst_null
            aconst_null
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
            areturn
        16: .line 153
      StackMap locals:
      StackMap stack:
            aload 6 /* id */
            iconst_1
            invokevirtual com.sun.scenario.effect.ImageData.setReusable:(Z)V
        17: .line 154
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.datacache:Ljava/util/Map;
            aload 1 /* fctx */
            aload 6 /* id */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // com.sun.scenario.effect.Filterable f
        end local 7 // com.sun.scenario.effect.impl.Renderer r
        18: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* transform */
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.x:F
            f2d
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.loc:Lcom/sun/javafx/geom/Point2D;
            getfield com.sun.javafx.geom.Point2D.y:F
            f2d
            invokestatic com.sun.scenario.effect.Offset.getOffsetTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;DD)Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 2 /* transform */
        19: .line 158
            aload 6 /* id */
            aload 2 /* transform */
            invokevirtual com.sun.scenario.effect.ImageData.transform:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/scenario/effect/ImageData;
            astore 6 /* id */
        20: .line 159
            aload 6 /* id */
            areturn
        end local 6 // com.sun.scenario.effect.ImageData id
        end local 5 // com.sun.scenario.effect.Effect defaultInput
        end local 4 // java.lang.Object renderHelper
        end local 3 // com.sun.javafx.geom.Rectangle outputClip
        end local 2 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lcom/sun/scenario/effect/Identity;
            0   21     1          fctx  Lcom/sun/scenario/effect/FilterContext;
            0   21     2     transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   21     3    outputClip  Lcom/sun/javafx/geom/Rectangle;
            0   21     4  renderHelper  Ljava/lang/Object;
            0   21     5  defaultInput  Lcom/sun/scenario/effect/Effect;
            1   21     6            id  Lcom/sun/scenario/effect/ImageData;
            8   18     7             r  Lcom/sun/scenario/effect/impl/Renderer;
            9   18     8             f  Lcom/sun/scenario/effect/Filterable;
    MethodParameters:
              Name  Flags
      fctx          
      transform     
      outputClip    
      renderHelper  
      defaultInput  

  public com.sun.scenario.effect.Effect$AccelType getAccelType(com.sun.scenario.effect.FilterContext);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;)Lcom/sun/scenario/effect/Effect$AccelType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
         0: .line 166
            getstatic com.sun.scenario.effect.Effect$AccelType.INTRINSIC:Lcom/sun/scenario/effect/Effect$AccelType;
            areturn
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/scenario/effect/Identity;
            0    1     1  fctx  Lcom/sun/scenario/effect/FilterContext;
    MethodParameters:
      Name  Flags
      fctx  

  private void clearCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.scenario.effect.Identity this
         0: .line 170
            aload 0 /* this */
            getfield com.sun.scenario.effect.Identity.datacache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 171
            return
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/scenario/effect/Identity;

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

  public com.sun.javafx.geom.DirtyRegionContainer getDirtyRegions(com.sun.scenario.effect.Effect, com.sun.javafx.geom.DirtyRegionPool);
    descriptor: (Lcom/sun/scenario/effect/Effect;Lcom/sun/javafx/geom/DirtyRegionPool;)Lcom/sun/javafx/geom/DirtyRegionContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // com.sun.scenario.effect.Identity this
        start local 1 // com.sun.scenario.effect.Effect defaultInput
        start local 2 // com.sun.javafx.geom.DirtyRegionPool regionPool
         0: .line 180
            aload 2 /* regionPool */
            invokevirtual com.sun.javafx.geom.DirtyRegionPool.checkOut:()Lcom/sun/javafx/geom/DirtyRegionContainer;
            astore 3 /* drc */
        start local 3 // com.sun.javafx.geom.DirtyRegionContainer drc
         1: .line 181
            aload 3 /* drc */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.reset:()V
         2: .line 182
            aload 3 /* drc */
            areturn
        end local 3 // com.sun.javafx.geom.DirtyRegionContainer drc
        end local 2 // com.sun.javafx.geom.DirtyRegionPool regionPool
        end local 1 // com.sun.scenario.effect.Effect defaultInput
        end local 0 // com.sun.scenario.effect.Identity this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/scenario/effect/Identity;
            0    3     1  defaultInput  Lcom/sun/scenario/effect/Effect;
            0    3     2    regionPool  Lcom/sun/javafx/geom/DirtyRegionPool;
            1    3     3           drc  Lcom/sun/javafx/geom/DirtyRegionContainer;
    MethodParameters:
              Name  Flags
      defaultInput  
      regionPool    
}
SourceFile: "Identity.java"
InnerClasses:
  public final AccelType = com.sun.scenario.effect.Effect$AccelType of com.sun.scenario.effect.Effect