public class org.apache.batik.gvt.UpdateTracker extends org.apache.batik.gvt.event.GraphicsNodeChangeAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.gvt.UpdateTracker
  super_class: org.apache.batik.gvt.event.GraphicsNodeChangeAdapter
{
  java.util.Map dirtyNodes;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 

  java.util.Map fromBounds;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 

  protected static java.awt.geom.Rectangle2D NULL_RECT;
    descriptor: Ljava/awt/geom/Rectangle2D;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 47
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            putstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.UpdateTracker this
         0: .line 49
            aload 0 /* this */
            invokespecial org.apache.batik.gvt.event.GraphicsNodeChangeAdapter.<init>:()V
         1: .line 45
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
         2: .line 46
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
         3: .line 50
            return
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/gvt/UpdateTracker;

  public boolean hasChanged();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.UpdateTracker this
         0: .line 56
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/gvt/UpdateTracker;

  public java.util.List getDirtyAreas();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=1
        start local 0 // org.apache.batik.gvt.UpdateTracker this
         0: .line 63
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            ifnonnull 2
         1: .line 64
            aconst_null
            areturn
         2: .line 66
      StackMap locals:
      StackMap stack:
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.List ret
         3: .line 67
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 2 /* keys */
        start local 2 // java.util.Set keys
         4: .line 68
            aload 2 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 52
      StackMap locals: org.apache.batik.gvt.UpdateTracker java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         6: .line 69
            aload 3 /* key */
            checkcast java.lang.ref.WeakReference
            astore 5 /* gnWRef */
        start local 5 // java.lang.ref.WeakReference gnWRef
         7: .line 70
            aload 5 /* gnWRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.GraphicsNode
            astore 6 /* gn */
        start local 6 // org.apache.batik.gvt.GraphicsNode gn
         8: .line 77
            aload 6 /* gn */
            ifnonnull 9
            goto 52
         9: .line 80
      StackMap locals: org.apache.batik.gvt.UpdateTracker java.util.List java.util.Set java.lang.Object java.util.Iterator java.lang.ref.WeakReference org.apache.batik.gvt.GraphicsNode
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            aload 5 /* gnWRef */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 7 /* oat */
        start local 7 // java.awt.geom.AffineTransform oat
        10: .line 81
            aload 7 /* oat */
            ifnull 12
        11: .line 82
            new java.awt.geom.AffineTransform
            dup
            aload 7 /* oat */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            astore 7 /* oat */
        12: .line 85
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
            aload 5 /* gnWRef */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.Rectangle2D
            astore 8 /* srcORgn */
        start local 8 // java.awt.geom.Rectangle2D srcORgn
        13: .line 87
            aconst_null
            astore 9 /* srcNRgn */
        start local 9 // java.awt.geom.Rectangle2D srcNRgn
        14: .line 88
            aconst_null
            astore 10 /* nat */
        start local 10 // java.awt.geom.AffineTransform nat
        15: .line 89
            aload 8 /* srcORgn */
            instanceof org.apache.batik.gvt.UpdateTracker$ChngSrcRect
            ifne 20
        16: .line 91
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getBounds:()Ljava/awt/geom/Rectangle2D;
            astore 9 /* srcNRgn */
        17: .line 92
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 10 /* nat */
        18: .line 93
            aload 10 /* nat */
            ifnull 20
        19: .line 94
            new java.awt.geom.AffineTransform
            dup
            aload 10 /* nat */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            astore 10 /* nat */
        20: .line 109
      StackMap locals: java.awt.geom.Rectangle2D java.awt.geom.Rectangle2D java.awt.geom.AffineTransform
      StackMap stack:
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getParent:()Lorg/apache/batik/gvt/CompositeGraphicsNode;
            astore 6 /* gn */
        21: .line 110
            aload 6 /* gn */
            ifnonnull 23
        22: .line 111
            goto 40
        23: .line 113
      StackMap locals:
      StackMap stack:
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getFilter:()Lorg/apache/batik/ext/awt/image/renderable/Filter;
            astore 11 /* f */
        start local 11 // org.apache.batik.ext.awt.image.renderable.Filter f
        24: .line 114
            aload 11 /* f */
            ifnull 27
        25: .line 115
            aload 11 /* f */
            invokeinterface org.apache.batik.ext.awt.image.renderable.Filter.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 9 /* srcNRgn */
        26: .line 116
            aconst_null
            astore 10 /* nat */
        27: .line 120
      StackMap locals: org.apache.batik.ext.awt.image.renderable.Filter
      StackMap stack:
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 12 /* at */
        start local 12 // java.awt.geom.AffineTransform at
        28: .line 122
            aload 6 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getWeakReference:()Ljava/lang/ref/WeakReference;
            astore 5 /* gnWRef */
        29: .line 123
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            aload 5 /* gnWRef */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 13 /* poat */
        start local 13 // java.awt.geom.AffineTransform poat
        30: .line 124
            aload 13 /* poat */
            ifnonnull 31
            aload 12 /* at */
            astore 13 /* poat */
        31: .line 125
      StackMap locals: java.awt.geom.AffineTransform java.awt.geom.AffineTransform
      StackMap stack:
            aload 13 /* poat */
            ifnull 35
        32: .line 126
            aload 7 /* oat */
            ifnull 34
        33: .line 127
            aload 7 /* oat */
            aload 13 /* poat */
            invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
            goto 35
        34: .line 129
      StackMap locals:
      StackMap stack:
            new java.awt.geom.AffineTransform
            dup
            aload 13 /* poat */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            astore 7 /* oat */
        35: .line 132
      StackMap locals:
      StackMap stack:
            aload 12 /* at */
            ifnull 20
        36: .line 133
            aload 10 /* nat */
            ifnull 38
        37: .line 134
            aload 10 /* nat */
            aload 12 /* at */
            invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
            goto 20
        38: .line 136
      StackMap locals:
      StackMap stack:
            new java.awt.geom.AffineTransform
            dup
            aload 12 /* at */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            astore 10 /* nat */
        end local 13 // java.awt.geom.AffineTransform poat
        end local 12 // java.awt.geom.AffineTransform at
        end local 11 // org.apache.batik.ext.awt.image.renderable.Filter f
        39: .line 138
            goto 20
        40: .line 140
      StackMap locals:
      StackMap stack:
            aload 6 /* gn */
            ifnonnull 52
        41: .line 146
            aload 8 /* srcORgn */
            astore 11 /* oRgn */
        start local 11 // java.awt.Shape oRgn
        42: .line 147
            aload 11 /* oRgn */
            ifnull 46
            aload 11 /* oRgn */
            getstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            if_acmpeq 46
        43: .line 148
            aload 7 /* oat */
            ifnull 45
        44: .line 149
            aload 7 /* oat */
            aload 8 /* srcORgn */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 11 /* oRgn */
        45: .line 152
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 1 /* ret */
            aload 11 /* oRgn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 155
      StackMap locals:
      StackMap stack:
            aload 9 /* srcNRgn */
            ifnull 52
        47: .line 156
            aload 9 /* srcNRgn */
            astore 12 /* nRgn */
        start local 12 // java.awt.Shape nRgn
        48: .line 157
            aload 10 /* nat */
            ifnull 50
        49: .line 158
            aload 10 /* nat */
            aload 9 /* srcNRgn */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 12 /* nRgn */
        50: .line 159
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 12 /* nRgn */
            ifnull 52
        51: .line 160
            aload 1 /* ret */
            aload 12 /* nRgn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.awt.Shape nRgn
        end local 11 // java.awt.Shape oRgn
        end local 10 // java.awt.geom.AffineTransform nat
        end local 9 // java.awt.geom.Rectangle2D srcNRgn
        end local 8 // java.awt.geom.Rectangle2D srcORgn
        end local 7 // java.awt.geom.AffineTransform oat
        end local 6 // org.apache.batik.gvt.GraphicsNode gn
        end local 5 // java.lang.ref.WeakReference gnWRef
        end local 3 // java.lang.Object key
        52: .line 68
      StackMap locals: org.apache.batik.gvt.UpdateTracker java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        53: .line 165
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        54: .line 166
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        55: .line 167
            aload 1 /* ret */
            areturn
        end local 2 // java.util.Set keys
        end local 1 // java.util.List ret
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   56     0     this  Lorg/apache/batik/gvt/UpdateTracker;
            3   56     1      ret  Ljava/util/List;
            4   56     2     keys  Ljava/util/Set;
            6   52     3      key  Ljava/lang/Object;
            7   52     5   gnWRef  Ljava/lang/ref/WeakReference;
            8   52     6       gn  Lorg/apache/batik/gvt/GraphicsNode;
           10   52     7      oat  Ljava/awt/geom/AffineTransform;
           13   52     8  srcORgn  Ljava/awt/geom/Rectangle2D;
           14   52     9  srcNRgn  Ljava/awt/geom/Rectangle2D;
           15   52    10      nat  Ljava/awt/geom/AffineTransform;
           24   39    11        f  Lorg/apache/batik/ext/awt/image/renderable/Filter;
           28   39    12       at  Ljava/awt/geom/AffineTransform;
           30   39    13     poat  Ljava/awt/geom/AffineTransform;
           42   52    11     oRgn  Ljava/awt/Shape;
           48   52    12     nRgn  Ljava/awt/Shape;

  public java.awt.geom.Rectangle2D getNodeDirtyRegion(org.apache.batik.gvt.GraphicsNode, java.awt.geom.AffineTransform);
    descriptor: (Lorg/apache/batik/gvt/GraphicsNode;Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // org.apache.batik.gvt.UpdateTracker this
        start local 1 // org.apache.batik.gvt.GraphicsNode gn
        start local 2 // java.awt.geom.AffineTransform at
         0: .line 179
            aload 1 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getWeakReference:()Ljava/lang/ref/WeakReference;
            astore 3 /* gnWRef */
        start local 3 // java.lang.ref.WeakReference gnWRef
         1: .line 180
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            aload 3 /* gnWRef */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 4 /* nat */
        start local 4 // java.awt.geom.AffineTransform nat
         2: .line 181
            aload 4 /* nat */
            ifnonnull 3
            aload 1 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 4 /* nat */
         3: .line 182
      StackMap locals: java.lang.ref.WeakReference java.awt.geom.AffineTransform
      StackMap stack:
            aload 4 /* nat */
            ifnull 6
         4: .line 183
            new java.awt.geom.AffineTransform
            dup
            aload 2 /* at */
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            astore 2 /* at */
         5: .line 184
            aload 2 /* at */
            aload 4 /* nat */
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
         6: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getFilter:()Lorg/apache/batik/ext/awt/image/renderable/Filter;
            astore 5 /* f */
        start local 5 // org.apache.batik.ext.awt.image.renderable.Filter f
         7: .line 188
            aconst_null
            astore 6 /* ret */
        start local 6 // java.awt.geom.Rectangle2D ret
         8: .line 189
            aload 1 /* gn */
            instanceof org.apache.batik.gvt.CompositeGraphicsNode
            ifeq 24
         9: .line 190
            aload 1 /* gn */
            checkcast org.apache.batik.gvt.CompositeGraphicsNode
            astore 7 /* cgn */
        start local 7 // org.apache.batik.gvt.CompositeGraphicsNode cgn
        10: .line 192
            aload 7 /* cgn */
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.iterator:()Ljava/util/Iterator;
            astore 9
            goto 22
      StackMap locals: org.apache.batik.gvt.UpdateTracker org.apache.batik.gvt.GraphicsNode java.awt.geom.AffineTransform java.lang.ref.WeakReference java.awt.geom.AffineTransform org.apache.batik.ext.awt.image.renderable.Filter java.awt.geom.Rectangle2D org.apache.batik.gvt.CompositeGraphicsNode top java.util.Iterator
      StackMap stack:
        11: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* aCgn */
        start local 8 // java.lang.Object aCgn
        12: .line 193
            aload 8 /* aCgn */
            checkcast org.apache.batik.gvt.GraphicsNode
            astore 10 /* childGN */
        start local 10 // org.apache.batik.gvt.GraphicsNode childGN
        13: .line 194
            aload 0 /* this */
            aload 10 /* childGN */
            aload 2 /* at */
            invokevirtual org.apache.batik.gvt.UpdateTracker.getNodeDirtyRegion:(Lorg/apache/batik/gvt/GraphicsNode;Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;
            astore 11 /* r2d */
        start local 11 // java.awt.geom.Rectangle2D r2d
        14: .line 195
            aload 11 /* r2d */
            ifnull 22
        15: .line 196
            aload 5 /* f */
            ifnull 19
        16: .line 199
            aload 2 /* at */
            aload 5 /* f */
            invokeinterface org.apache.batik.ext.awt.image.renderable.Filter.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 12 /* s */
        start local 12 // java.awt.Shape s
        17: .line 200
            aload 12 /* s */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* ret */
        18: .line 201
            goto 33
        end local 12 // java.awt.Shape s
        19: .line 203
      StackMap locals: org.apache.batik.gvt.UpdateTracker org.apache.batik.gvt.GraphicsNode java.awt.geom.AffineTransform java.lang.ref.WeakReference java.awt.geom.AffineTransform org.apache.batik.ext.awt.image.renderable.Filter java.awt.geom.Rectangle2D org.apache.batik.gvt.CompositeGraphicsNode java.lang.Object java.util.Iterator org.apache.batik.gvt.GraphicsNode java.awt.geom.Rectangle2D
      StackMap stack:
            aload 6 /* ret */
            ifnull 20
            aload 6 /* ret */
            getstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            if_acmpne 21
      StackMap locals:
      StackMap stack:
        20: aload 11 /* r2d */
            astore 6 /* ret */
            goto 22
        21: .line 205
      StackMap locals:
      StackMap stack:
            aload 6 /* ret */
            aload 11 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        end local 11 // java.awt.geom.Rectangle2D r2d
        end local 10 // org.apache.batik.gvt.GraphicsNode childGN
        end local 8 // java.lang.Object aCgn
        22: .line 192
      StackMap locals: org.apache.batik.gvt.UpdateTracker org.apache.batik.gvt.GraphicsNode java.awt.geom.AffineTransform java.lang.ref.WeakReference java.awt.geom.AffineTransform org.apache.batik.ext.awt.image.renderable.Filter java.awt.geom.Rectangle2D org.apache.batik.gvt.CompositeGraphicsNode top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 7 // org.apache.batik.gvt.CompositeGraphicsNode cgn
        23: .line 208
            goto 33
        24: .line 209
      StackMap locals: org.apache.batik.gvt.UpdateTracker org.apache.batik.gvt.GraphicsNode java.awt.geom.AffineTransform java.lang.ref.WeakReference java.awt.geom.AffineTransform org.apache.batik.ext.awt.image.renderable.Filter java.awt.geom.Rectangle2D
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
            aload 3 /* gnWRef */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.Rectangle2D
            astore 6 /* ret */
        25: .line 210
            aload 6 /* ret */
            ifnonnull 29
        26: .line 211
            aload 5 /* f */
            ifnull 27
            aload 5 /* f */
            invokeinterface org.apache.batik.ext.awt.image.renderable.Filter.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* ret */
            goto 31
        27: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getBounds:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* ret */
        28: .line 213
            goto 31
      StackMap locals:
      StackMap stack:
        29: aload 6 /* ret */
            getstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            if_acmpne 31
        30: .line 214
            aconst_null
            astore 6 /* ret */
        31: .line 215
      StackMap locals:
      StackMap stack:
            aload 6 /* ret */
            ifnull 33
        32: .line 216
            aload 2 /* at */
            aload 6 /* ret */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* ret */
        33: .line 218
      StackMap locals:
      StackMap stack:
            aload 6 /* ret */
            areturn
        end local 6 // java.awt.geom.Rectangle2D ret
        end local 5 // org.apache.batik.ext.awt.image.renderable.Filter f
        end local 4 // java.awt.geom.AffineTransform nat
        end local 3 // java.lang.ref.WeakReference gnWRef
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // org.apache.batik.gvt.GraphicsNode gn
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/apache/batik/gvt/UpdateTracker;
            0   34     1       gn  Lorg/apache/batik/gvt/GraphicsNode;
            0   34     2       at  Ljava/awt/geom/AffineTransform;
            1   34     3   gnWRef  Ljava/lang/ref/WeakReference;
            2   34     4      nat  Ljava/awt/geom/AffineTransform;
            7   34     5        f  Lorg/apache/batik/ext/awt/image/renderable/Filter;
            8   34     6      ret  Ljava/awt/geom/Rectangle2D;
           10   23     7      cgn  Lorg/apache/batik/gvt/CompositeGraphicsNode;
           12   22     8     aCgn  Ljava/lang/Object;
           13   22    10  childGN  Lorg/apache/batik/gvt/GraphicsNode;
           14   22    11      r2d  Ljava/awt/geom/Rectangle2D;
           17   19    12        s  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      gn    
      at    

  public java.awt.geom.Rectangle2D getNodeDirtyRegion(org.apache.batik.gvt.GraphicsNode);
    descriptor: (Lorg/apache/batik/gvt/GraphicsNode;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.UpdateTracker this
        start local 1 // org.apache.batik.gvt.GraphicsNode gn
         0: .line 222
            aload 0 /* this */
            aload 1 /* gn */
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            invokevirtual org.apache.batik.gvt.UpdateTracker.getNodeDirtyRegion:(Lorg/apache/batik/gvt/GraphicsNode;Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 1 // org.apache.batik.gvt.GraphicsNode gn
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/UpdateTracker;
            0    1     1    gn  Lorg/apache/batik/gvt/GraphicsNode;
    MethodParameters:
      Name  Flags
      gn    

  public void changeStarted(org.apache.batik.gvt.event.GraphicsNodeChangeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.batik.gvt.UpdateTracker this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
         0: .line 231
            aload 1 /* gnce */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeChangeEvent.getGraphicsNode:()Lorg/apache/batik/gvt/GraphicsNode;
            astore 2 /* gn */
        start local 2 // org.apache.batik.gvt.GraphicsNode gn
         1: .line 232
            aload 2 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getWeakReference:()Ljava/lang/ref/WeakReference;
            astore 3 /* gnWRef */
        start local 3 // java.lang.ref.WeakReference gnWRef
         2: .line 234
            iconst_0
            istore 4 /* doPut */
        start local 4 // boolean doPut
         3: .line 235
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            ifnonnull 7
         4: .line 236
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
         5: .line 237
            iconst_1
            istore 4 /* doPut */
         6: .line 238
            goto 9
      StackMap locals: org.apache.batik.gvt.GraphicsNode java.lang.ref.WeakReference int
      StackMap stack:
         7: aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            aload 3 /* gnWRef */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 239
            iconst_1
            istore 4 /* doPut */
         9: .line 241
      StackMap locals:
      StackMap stack:
            iload 4 /* doPut */
            ifeq 14
        10: .line 242
            aload 2 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 5 /* at */
        start local 5 // java.awt.geom.AffineTransform at
        11: .line 243
            aload 5 /* at */
            ifnull 12
            aload 5 /* at */
            invokevirtual java.awt.geom.AffineTransform.clone:()Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 5 /* at */
            goto 13
        12: .line 244
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            astore 5 /* at */
        13: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
            aload 3 /* gnWRef */
            aload 5 /* at */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.awt.geom.AffineTransform at
        14: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* gnce */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeChangeEvent.getChangeSrc:()Lorg/apache/batik/gvt/GraphicsNode;
            astore 5 /* chngSrc */
        start local 5 // org.apache.batik.gvt.GraphicsNode chngSrc
        15: .line 249
            aconst_null
            astore 6 /* rgn */
        start local 6 // java.awt.geom.Rectangle2D rgn
        16: .line 250
            aload 5 /* chngSrc */
            ifnull 21
        17: .line 253
            aload 0 /* this */
            aload 5 /* chngSrc */
            invokevirtual org.apache.batik.gvt.UpdateTracker.getNodeDirtyRegion:(Lorg/apache/batik/gvt/GraphicsNode;)Ljava/awt/geom/Rectangle2D;
            astore 7 /* drgn */
        start local 7 // java.awt.geom.Rectangle2D drgn
        18: .line 254
            aload 7 /* drgn */
            ifnull 22
        19: .line 255
            new org.apache.batik.gvt.UpdateTracker$ChngSrcRect
            dup
            aload 7 /* drgn */
            invokespecial org.apache.batik.gvt.UpdateTracker$ChngSrcRect.<init>:(Ljava/awt/geom/Rectangle2D;)V
            astore 6 /* rgn */
        end local 7 // java.awt.geom.Rectangle2D drgn
        20: .line 256
            goto 22
        21: .line 258
      StackMap locals: org.apache.batik.gvt.GraphicsNode java.awt.geom.Rectangle2D
      StackMap stack:
            aload 2 /* gn */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getBounds:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* rgn */
        22: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
            aload 3 /* gnWRef */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.geom.Rectangle2D
            astore 7 /* r2d */
        start local 7 // java.awt.geom.Rectangle2D r2d
        23: .line 262
            aload 6 /* rgn */
            ifnull 28
        24: .line 263
            aload 7 /* r2d */
            ifnull 27
            aload 7 /* r2d */
            getstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            if_acmpeq 27
        25: .line 268
            aload 7 /* r2d */
            aload 6 /* rgn */
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        26: .line 270
            goto 28
        27: .line 271
      StackMap locals: java.awt.geom.Rectangle2D
      StackMap stack:
            aload 6 /* rgn */
            astore 7 /* r2d */
        28: .line 280
      StackMap locals:
      StackMap stack:
            aload 7 /* r2d */
            ifnonnull 30
        29: .line 281
            getstatic org.apache.batik.gvt.UpdateTracker.NULL_RECT:Ljava/awt/geom/Rectangle2D;
            astore 7 /* r2d */
        30: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.UpdateTracker.fromBounds:Ljava/util/Map;
            aload 3 /* gnWRef */
            aload 7 /* r2d */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 283
            return
        end local 7 // java.awt.geom.Rectangle2D r2d
        end local 6 // java.awt.geom.Rectangle2D rgn
        end local 5 // org.apache.batik.gvt.GraphicsNode chngSrc
        end local 4 // boolean doPut
        end local 3 // java.lang.ref.WeakReference gnWRef
        end local 2 // org.apache.batik.gvt.GraphicsNode gn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/apache/batik/gvt/UpdateTracker;
            0   32     1     gnce  Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;
            1   32     2       gn  Lorg/apache/batik/gvt/GraphicsNode;
            2   32     3   gnWRef  Ljava/lang/ref/WeakReference;
            3   32     4    doPut  Z
           11   14     5       at  Ljava/awt/geom/AffineTransform;
           15   32     5  chngSrc  Lorg/apache/batik/gvt/GraphicsNode;
           16   32     6      rgn  Ljava/awt/geom/Rectangle2D;
           18   20     7     drgn  Ljava/awt/geom/Rectangle2D;
           23   32     7      r2d  Ljava/awt/geom/Rectangle2D;
    MethodParameters:
      Name  Flags
      gnce  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.UpdateTracker this
         0: .line 296
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.UpdateTracker.dirtyNodes:Ljava/util/Map;
         1: .line 297
            return
        end local 0 // org.apache.batik.gvt.UpdateTracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/gvt/UpdateTracker;
}
SourceFile: "UpdateTracker.java"
NestMembers:
  org.apache.batik.gvt.UpdateTracker$ChngSrcRect
InnerClasses:
  ChngSrcRect = org.apache.batik.gvt.UpdateTracker$ChngSrcRect of org.apache.batik.gvt.UpdateTracker