public class org.apache.batik.gvt.MarkerShapePainter implements org.apache.batik.gvt.ShapePainter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.gvt.MarkerShapePainter
  super_class: java.lang.Object
{
  protected org.apache.batik.ext.awt.geom.ExtendedShape extShape;
    descriptor: Lorg/apache/batik/ext/awt/geom/ExtendedShape;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.gvt.Marker startMarker;
    descriptor: Lorg/apache/batik/gvt/Marker;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.gvt.Marker middleMarker;
    descriptor: Lorg/apache/batik/gvt/Marker;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.gvt.Marker endMarker;
    descriptor: Lorg/apache/batik/gvt/Marker;
    flags: (0x0004) ACC_PROTECTED

  private org.apache.batik.gvt.ProxyGraphicsNode startMarkerProxy;
    descriptor: Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.ProxyGraphicsNode[] middleMarkerProxies;
    descriptor: [Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.ProxyGraphicsNode endMarkerProxy;
    descriptor: Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.CompositeGraphicsNode markerGroup;
    descriptor: Lorg/apache/batik/gvt/CompositeGraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.geom.Rectangle2D dPrimitiveBounds;
    descriptor: Ljava/awt/geom/Rectangle2D;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.geom.Rectangle2D dGeometryBounds;
    descriptor: Ljava/awt/geom/Rectangle2D;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.awt.Shape);
    descriptor: (Ljava/awt/Shape;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // java.awt.Shape shape
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 102
            aload 1 /* shape */
            ifnonnull 3
         2: .line 103
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 105
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter java.awt.Shape
      StackMap stack:
            aload 1 /* shape */
            instanceof org.apache.batik.ext.awt.geom.ExtendedShape
            ifeq 6
         4: .line 106
            aload 0 /* this */
            aload 1 /* shape */
            checkcast org.apache.batik.ext.awt.geom.ExtendedShape
            putfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
         5: .line 107
            goto 7
         6: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.batik.ext.awt.geom.ShapeExtender
            dup
            aload 1 /* shape */
            invokespecial org.apache.batik.ext.awt.geom.ShapeExtender.<init>:(Ljava/awt/Shape;)V
            putfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
         7: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Shape shape
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    8     1  shape  Ljava/awt/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public void paint(java.awt.Graphics2D);
    descriptor: (Ljava/awt/Graphics2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // java.awt.Graphics2D g2d
         0: .line 118
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            ifnonnull 2
         1: .line 119
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildMarkerGroup:()V
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 4
         3: .line 122
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            aload 1 /* g2d */
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.paint:(Ljava/awt/Graphics2D;)V
         4: .line 124
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Graphics2D g2d
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    5     1   g2d  Ljava/awt/Graphics2D;
    MethodParameters:
      Name  Flags
      g2d   

  public java.awt.Shape getPaintedArea();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 130
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            ifnonnull 2
         1: .line 131
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildMarkerGroup:()V
         2: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.getOutline:()Ljava/awt/Shape;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public java.awt.geom.Rectangle2D getPaintedBounds2D();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 140
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            ifnonnull 2
         1: .line 141
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildMarkerGroup:()V
         2: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds:()Ljava/awt/geom/Rectangle2D;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public boolean inPaintedArea(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 150
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            ifnonnull 2
         1: .line 151
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildMarkerGroup:()V
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
            aload 1 /* pt */
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.nodeHitAt:(Ljava/awt/geom/Point2D;)Lorg/apache/batik/gvt/GraphicsNode;
            astore 2 /* gn */
        start local 2 // org.apache.batik.gvt.GraphicsNode gn
         3: .line 154
            aload 2 /* gn */
            ifnull 4
            iconst_1
            ireturn
      StackMap locals: org.apache.batik.gvt.GraphicsNode
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.apache.batik.gvt.GraphicsNode gn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    5     1    pt  Ljava/awt/geom/Point2D;
            3    5     2    gn  Lorg/apache/batik/gvt/GraphicsNode;
    MethodParameters:
      Name  Flags
      pt    

  public java.awt.Shape getSensitiveArea();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 161
            aconst_null
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public java.awt.geom.Rectangle2D getSensitiveBounds2D();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 167
            aconst_null
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public boolean inSensitiveArea(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 173
            iconst_0
            ireturn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    1     1    pt  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public void setShape(java.awt.Shape);
    descriptor: (Ljava/awt/Shape;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // java.awt.Shape shape
         0: .line 183
            aload 1 /* shape */
            ifnonnull 2
         1: .line 184
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* shape */
            instanceof org.apache.batik.ext.awt.geom.ExtendedShape
            ifeq 5
         3: .line 187
            aload 0 /* this */
            aload 1 /* shape */
            checkcast org.apache.batik.ext.awt.geom.ExtendedShape
            putfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
         4: .line 188
            goto 6
         5: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.batik.ext.awt.geom.ShapeExtender
            dup
            aload 1 /* shape */
            invokespecial org.apache.batik.ext.awt.geom.ShapeExtender.<init>:(Ljava/awt/Shape;)V
            putfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
         6: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         7: .line 193
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
         8: .line 194
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         9: .line 195
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
        10: .line 196
            return
        end local 1 // java.awt.Shape shape
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0   11     1  shape  Ljava/awt/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public org.apache.batik.ext.awt.geom.ExtendedShape getExtShape();
    descriptor: ()Lorg/apache/batik/ext/awt/geom/ExtendedShape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 204
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public java.awt.Shape getShape();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 213
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.extShape:Lorg/apache/batik/ext/awt/geom/ExtendedShape;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public org.apache.batik.gvt.Marker getStartMarker();
    descriptor: ()Lorg/apache/batik/gvt/Marker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 221
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public void setStartMarker(org.apache.batik.gvt.Marker);
    descriptor: (Lorg/apache/batik/gvt/Marker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // org.apache.batik.gvt.Marker startMarker
         0: .line 231
            aload 0 /* this */
            aload 1 /* startMarker */
            putfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
         1: .line 232
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         2: .line 233
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
         3: .line 234
            return
        end local 1 // org.apache.batik.gvt.Marker startMarker
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    4     1  startMarker  Lorg/apache/batik/gvt/Marker;
    MethodParameters:
             Name  Flags
      startMarker  

  public org.apache.batik.gvt.Marker getMiddleMarker();
    descriptor: ()Lorg/apache/batik/gvt/Marker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 241
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public void setMiddleMarker(org.apache.batik.gvt.Marker);
    descriptor: (Lorg/apache/batik/gvt/Marker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // org.apache.batik.gvt.Marker middleMarker
         0: .line 251
            aload 0 /* this */
            aload 1 /* middleMarker */
            putfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
         1: .line 252
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
         2: .line 253
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
         3: .line 254
            return
        end local 1 // org.apache.batik.gvt.Marker middleMarker
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    4     1  middleMarker  Lorg/apache/batik/gvt/Marker;
    MethodParameters:
              Name  Flags
      middleMarker  

  public org.apache.batik.gvt.Marker getEndMarker();
    descriptor: ()Lorg/apache/batik/gvt/Marker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 261
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
            areturn
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;

  public void setEndMarker(org.apache.batik.gvt.Marker);
    descriptor: (Lorg/apache/batik/gvt/Marker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // org.apache.batik.gvt.Marker endMarker
         0: .line 271
            aload 0 /* this */
            aload 1 /* endMarker */
            putfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
         1: .line 272
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         2: .line 273
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
         3: .line 274
            return
        end local 1 // org.apache.batik.gvt.Marker endMarker
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    4     1  endMarker  Lorg/apache/batik/gvt/Marker;
    MethodParameters:
           Name  Flags
      endMarker  

  protected void buildMarkerGroup();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 284
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
            ifnull 2
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnonnull 2
         1: .line 285
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildStartMarkerProxy:()Lorg/apache/batik/gvt/ProxyGraphicsNode;
            putfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         2: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
            ifnull 4
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnonnull 4
         3: .line 289
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildMiddleMarkerProxies:()[Lorg/apache/batik/gvt/ProxyGraphicsNode;
            putfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
         4: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
            ifnull 6
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnonnull 6
         5: .line 293
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.buildEndMarkerProxy:()Lorg/apache/batik/gvt/ProxyGraphicsNode;
            putfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
         6: .line 296
      StackMap locals:
      StackMap stack:
            new org.apache.batik.gvt.CompositeGraphicsNode
            dup
            invokespecial org.apache.batik.gvt.CompositeGraphicsNode.<init>:()V
            astore 1 /* group */
        start local 1 // org.apache.batik.gvt.CompositeGraphicsNode group
         7: .line 297
            aload 1 /* group */
            invokevirtual org.apache.batik.gvt.CompositeGraphicsNode.getChildren:()Ljava/util/List;
            astore 2 /* children */
        start local 2 // java.util.List children
         8: .line 298
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnull 10
         9: .line 299
            aload 2 /* children */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 302
      StackMap locals: org.apache.batik.gvt.CompositeGraphicsNode java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnull 16
        11: .line 303
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarkerProxies:[Lorg/apache/batik/gvt/ProxyGraphicsNode;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter org.apache.batik.gvt.CompositeGraphicsNode java.util.List top int int org.apache.batik.gvt.ProxyGraphicsNode[]
      StackMap stack:
        12: aload 6
            iload 4
            aaload
            astore 3 /* middleMarkerProxy */
        start local 3 // org.apache.batik.gvt.ProxyGraphicsNode middleMarkerProxy
        13: .line 304
            aload 2 /* children */
            aload 3 /* middleMarkerProxy */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.batik.gvt.ProxyGraphicsNode middleMarkerProxy
        14: .line 303
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 12
        16: .line 308
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter org.apache.batik.gvt.CompositeGraphicsNode java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            ifnull 18
        17: .line 309
            aload 2 /* children */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarkerProxy:Lorg/apache/batik/gvt/ProxyGraphicsNode;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* group */
            putfield org.apache.batik.gvt.MarkerShapePainter.markerGroup:Lorg/apache/batik/gvt/CompositeGraphicsNode;
        19: .line 313
            return
        end local 2 // java.util.List children
        end local 1 // org.apache.batik.gvt.CompositeGraphicsNode group
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lorg/apache/batik/gvt/MarkerShapePainter;
            7   20     1              group  Lorg/apache/batik/gvt/CompositeGraphicsNode;
            8   20     2           children  Ljava/util/List;
           13   14     3  middleMarkerProxy  Lorg/apache/batik/gvt/ProxyGraphicsNode;

  protected org.apache.batik.gvt.ProxyGraphicsNode buildStartMarkerProxy();
    descriptor: ()Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 321
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getExtShape:()Lorg/apache/batik/ext/awt/geom/ExtendedShape;
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedShape.getExtendedPathIterator:()Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            astore 1 /* iter */
        start local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
         1: .line 324
            bipush 7
            newarray 7
            astore 2 /* coords */
        start local 2 // double[] coords
         2: .line 325
            iconst_0
            istore 3 /* segType */
        start local 3 // int segType
         3: .line 327
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 5
         4: .line 328
            aconst_null
            areturn
         5: .line 331
      StackMap locals: org.apache.batik.ext.awt.geom.ExtendedPathIterator double[] int
      StackMap stack:
            aload 1 /* iter */
            aload 2 /* coords */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 3 /* segType */
         6: .line 332
            iload 3 /* segType */
            ifeq 8
         7: .line 333
            aconst_null
            areturn
         8: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
         9: .line 337
            new java.awt.geom.Point2D$Double
            dup
            aload 2 /* coords */
            iconst_0
            daload
            aload 2 /* coords */
            iconst_1
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            astore 4 /* markerPosition */
        start local 4 // java.awt.geom.Point2D markerPosition
        10: .line 341
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getOrient:()D
            dstore 5 /* rotation */
        start local 5 // double rotation
        11: .line 342
            dload 5 /* rotation */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 24
        12: .line 343
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifne 24
        13: .line 344
            bipush 7
            newarray 7
            astore 7 /* next */
        start local 7 // double[] next
        14: .line 345
            iconst_0
            istore 8 /* nextSegType */
        start local 8 // int nextSegType
        15: .line 346
            aload 1 /* iter */
            aload 7 /* next */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 8 /* nextSegType */
        16: .line 347
            iload 8 /* nextSegType */
            iconst_4
            if_icmpne 20
        17: .line 348
            iconst_1
            istore 8 /* nextSegType */
        18: .line 349
            aload 7 /* next */
            iconst_0
            aload 2 /* coords */
            iconst_0
            daload
            dastore
        19: .line 350
            aload 7 /* next */
            iconst_1
            aload 2 /* coords */
            iconst_1
            daload
            dastore
        20: .line 352
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter org.apache.batik.ext.awt.geom.ExtendedPathIterator double[] int java.awt.geom.Point2D double double[] int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_0
        21: .line 353
            aload 2 /* coords */
            iload 3 /* segType */
        22: .line 354
            aload 7 /* next */
            iload 8 /* nextSegType */
        23: .line 352
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeRotation:([DI[DI[DI)D
            dstore 5 /* rotation */
        end local 8 // int nextSegType
        end local 7 // double[] next
        24: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
        25: .line 361
            aload 4 /* markerPosition */
        26: .line 362
            dload 5 /* rotation */
        27: .line 360
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeMarkerTransform:(Lorg/apache/batik/gvt/Marker;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/AffineTransform;
            astore 7 /* markerTxf */
        start local 7 // java.awt.geom.AffineTransform markerTxf
        28: .line 364
            new org.apache.batik.gvt.ProxyGraphicsNode
            dup
            invokespecial org.apache.batik.gvt.ProxyGraphicsNode.<init>:()V
            astore 8 /* gn */
        start local 8 // org.apache.batik.gvt.ProxyGraphicsNode gn
        29: .line 366
            aload 8 /* gn */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.startMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getMarkerNode:()Lorg/apache/batik/gvt/GraphicsNode;
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setSource:(Lorg/apache/batik/gvt/GraphicsNode;)V
        30: .line 367
            aload 8 /* gn */
            aload 7 /* markerTxf */
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setTransform:(Ljava/awt/geom/AffineTransform;)V
        31: .line 369
            aload 8 /* gn */
            areturn
        end local 8 // org.apache.batik.gvt.ProxyGraphicsNode gn
        end local 7 // java.awt.geom.AffineTransform markerTxf
        end local 5 // double rotation
        end local 4 // java.awt.geom.Point2D markerPosition
        end local 3 // int segType
        end local 2 // double[] coords
        end local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lorg/apache/batik/gvt/MarkerShapePainter;
            1   32     1            iter  Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            2   32     2          coords  [D
            3   32     3         segType  I
           10   32     4  markerPosition  Ljava/awt/geom/Point2D;
           11   32     5        rotation  D
           14   24     7            next  [D
           15   24     8     nextSegType  I
           28   32     7       markerTxf  Ljava/awt/geom/AffineTransform;
           29   32     8              gn  Lorg/apache/batik/gvt/ProxyGraphicsNode;

  protected org.apache.batik.gvt.ProxyGraphicsNode buildEndMarkerProxy();
    descriptor: ()Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=16, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 378
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getExtShape:()Lorg/apache/batik/ext/awt/geom/ExtendedShape;
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedShape.getExtendedPathIterator:()Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            astore 1 /* iter */
        start local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
         1: .line 380
            iconst_0
            istore 2 /* nPoints */
        start local 2 // int nPoints
         2: .line 384
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 4
         3: .line 385
            aconst_null
            areturn
         4: .line 388
      StackMap locals: org.apache.batik.ext.awt.geom.ExtendedPathIterator int
      StackMap stack:
            bipush 7
            newarray 7
            astore 3 /* coords */
        start local 3 // double[] coords
         5: .line 389
            iconst_2
            newarray 7
            astore 4 /* moveTo */
        start local 4 // double[] moveTo
         6: .line 390
            iconst_0
            istore 5 /* segType */
        start local 5 // int segType
         7: .line 391
            aload 1 /* iter */
            aload 3 /* coords */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 5 /* segType */
         8: .line 392
            iload 5 /* segType */
            ifeq 10
         9: .line 393
            aconst_null
            areturn
        10: .line 395
      StackMap locals: double[] double[] int
      StackMap stack:
            iinc 2 /* nPoints */ 1
        11: .line 396
            aload 4 /* moveTo */
            iconst_0
            aload 3 /* coords */
            iconst_0
            daload
            dastore
        12: .line 397
            aload 4 /* moveTo */
            iconst_1
            aload 3 /* coords */
            iconst_1
            daload
            dastore
        13: .line 399
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
        14: .line 402
            bipush 7
            newarray 7
            astore 6 /* lastButOne */
        start local 6 // double[] lastButOne
        15: .line 403
            bipush 7
            newarray 7
            dup
            iconst_0
            aload 3 /* coords */
            iconst_0
            daload
            dastore
            dup
            iconst_1
            aload 3 /* coords */
            iconst_1
            daload
            dastore
            dup
            iconst_2
            aload 3 /* coords */
            iconst_2
            daload
            dastore
            dup
            iconst_3
        16: .line 404
            aload 3 /* coords */
            iconst_3
            daload
            dastore
            dup
            iconst_4
            aload 3 /* coords */
            iconst_4
            daload
            dastore
            dup
            iconst_5
            aload 3 /* coords */
            iconst_5
            daload
            dastore
            dup
            bipush 6
            aload 3 /* coords */
            bipush 6
            daload
            dastore
        17: .line 403
            astore 7 /* last */
        start local 7 // double[] last
        18: .line 405
            aconst_null
            astore 8 /* tmp */
        start local 8 // double[] tmp
        19: .line 406
            iload 5 /* segType */
            istore 9 /* lastSegType */
        start local 9 // int lastSegType
        20: .line 407
            iconst_0
            istore 10 /* lastButOneSegType */
        start local 10 // int lastButOneSegType
        21: .line 409
            goto 37
        22: .line 410
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter org.apache.batik.ext.awt.geom.ExtendedPathIterator int double[] double[] int double[] double[] double[] int int
      StackMap stack:
            aload 6 /* lastButOne */
            astore 8 /* tmp */
        23: .line 411
            aload 7 /* last */
            astore 6 /* lastButOne */
        24: .line 412
            aload 8 /* tmp */
            astore 7 /* last */
        25: .line 413
            iload 9 /* lastSegType */
            istore 10 /* lastButOneSegType */
        26: .line 415
            aload 1 /* iter */
            aload 7 /* last */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 9 /* lastSegType */
        27: .line 417
            iload 9 /* lastSegType */
            ifne 31
        28: .line 418
            aload 4 /* moveTo */
            iconst_0
            aload 7 /* last */
            iconst_0
            daload
            dastore
        29: .line 419
            aload 4 /* moveTo */
            iconst_1
            aload 7 /* last */
            iconst_1
            daload
            dastore
        30: .line 420
            goto 35
      StackMap locals:
      StackMap stack:
        31: iload 9 /* lastSegType */
            iconst_4
            if_icmpne 35
        32: .line 421
            iconst_1
            istore 9 /* lastSegType */
        33: .line 422
            aload 7 /* last */
            iconst_0
            aload 4 /* moveTo */
            iconst_0
            daload
            dastore
        34: .line 423
            aload 7 /* last */
            iconst_1
            aload 4 /* moveTo */
            iconst_1
            daload
            dastore
        35: .line 426
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
        36: .line 427
            iinc 2 /* nPoints */ 1
        37: .line 409
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 22
        38: .line 430
            iload 2 /* nPoints */
            iconst_2
            if_icmpge 40
        39: .line 431
            aconst_null
            areturn
        40: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* last */
            iload 9 /* lastSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
            astore 11 /* markerPosition */
        start local 11 // java.awt.geom.Point2D markerPosition
        41: .line 439
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getOrient:()D
            dstore 12 /* rotation */
        start local 12 // double rotation
        42: .line 440
            dload 12 /* rotation */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 48
        43: .line 441
            aload 0 /* this */
            aload 6 /* lastButOne */
        44: .line 442
            iload 10 /* lastButOneSegType */
        45: .line 443
            aload 7 /* last */
            iload 9 /* lastSegType */
        46: .line 444
            aconst_null
            iconst_0
        47: .line 441
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeRotation:([DI[DI[DI)D
            dstore 12 /* rotation */
        48: .line 448
      StackMap locals: java.awt.geom.Point2D double
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
        49: .line 449
            aload 11 /* markerPosition */
        50: .line 450
            dload 12 /* rotation */
        51: .line 448
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeMarkerTransform:(Lorg/apache/batik/gvt/Marker;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/AffineTransform;
            astore 14 /* markerTxf */
        start local 14 // java.awt.geom.AffineTransform markerTxf
        52: .line 452
            new org.apache.batik.gvt.ProxyGraphicsNode
            dup
            invokespecial org.apache.batik.gvt.ProxyGraphicsNode.<init>:()V
            astore 15 /* gn */
        start local 15 // org.apache.batik.gvt.ProxyGraphicsNode gn
        53: .line 454
            aload 15 /* gn */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.endMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getMarkerNode:()Lorg/apache/batik/gvt/GraphicsNode;
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setSource:(Lorg/apache/batik/gvt/GraphicsNode;)V
        54: .line 455
            aload 15 /* gn */
            aload 14 /* markerTxf */
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setTransform:(Ljava/awt/geom/AffineTransform;)V
        55: .line 457
            aload 15 /* gn */
            areturn
        end local 15 // org.apache.batik.gvt.ProxyGraphicsNode gn
        end local 14 // java.awt.geom.AffineTransform markerTxf
        end local 12 // double rotation
        end local 11 // java.awt.geom.Point2D markerPosition
        end local 10 // int lastButOneSegType
        end local 9 // int lastSegType
        end local 8 // double[] tmp
        end local 7 // double[] last
        end local 6 // double[] lastButOne
        end local 5 // int segType
        end local 4 // double[] moveTo
        end local 3 // double[] coords
        end local 2 // int nPoints
        end local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   56     0               this  Lorg/apache/batik/gvt/MarkerShapePainter;
            1   56     1               iter  Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            2   56     2            nPoints  I
            5   56     3             coords  [D
            6   56     4             moveTo  [D
            7   56     5            segType  I
           15   56     6         lastButOne  [D
           18   56     7               last  [D
           19   56     8                tmp  [D
           20   56     9        lastSegType  I
           21   56    10  lastButOneSegType  I
           41   56    11     markerPosition  Ljava/awt/geom/Point2D;
           42   56    12           rotation  D
           52   56    14          markerTxf  Ljava/awt/geom/AffineTransform;
           53   56    15                 gn  Lorg/apache/batik/gvt/ProxyGraphicsNode;

  protected org.apache.batik.gvt.ProxyGraphicsNode[] buildMiddleMarkerProxies();
    descriptor: ()[Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=1
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
         0: .line 466
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getExtShape:()Lorg/apache/batik/ext/awt/geom/ExtendedShape;
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedShape.getExtendedPathIterator:()Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            astore 1 /* iter */
        start local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
         1: .line 468
            bipush 7
            newarray 7
            astore 2 /* prev */
        start local 2 // double[] prev
         2: .line 469
            bipush 7
            newarray 7
            astore 3 /* curr */
        start local 3 // double[] curr
         3: .line 470
            bipush 7
            newarray 7
            astore 4 /* next */
        start local 4 // double[] next
         4: aconst_null
            astore 5 /* tmp */
        start local 5 // double[] tmp
         5: .line 471
            iconst_0
            istore 6 /* prevSegType */
        start local 6 // int prevSegType
         6: iconst_0
            istore 7 /* currSegType */
        start local 7 // int currSegType
         7: iconst_0
            istore 8 /* nextSegType */
        start local 8 // int nextSegType
         8: .line 474
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 10
         9: .line 475
            aconst_null
            areturn
        10: .line 478
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter org.apache.batik.ext.awt.geom.ExtendedPathIterator double[] double[] double[] double[] int int int
      StackMap stack:
            aload 1 /* iter */
            aload 2 /* prev */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 6 /* prevSegType */
        11: .line 479
            iconst_2
            newarray 7
            astore 9 /* moveTo */
        start local 9 // double[] moveTo
        12: .line 481
            iload 6 /* prevSegType */
            ifeq 14
        13: .line 482
            aconst_null
            areturn
        14: .line 485
      StackMap locals: double[]
      StackMap stack:
            aload 9 /* moveTo */
            iconst_0
            aload 2 /* prev */
            iconst_0
            daload
            dastore
        15: .line 486
            aload 9 /* moveTo */
            iconst_1
            aload 2 /* prev */
            iconst_1
            daload
            dastore
        16: .line 487
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
        17: .line 489
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 19
        18: .line 490
            aconst_null
            areturn
        19: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            aload 3 /* curr */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 7 /* currSegType */
        20: .line 495
            iload 7 /* currSegType */
            ifne 24
        21: .line 496
            aload 9 /* moveTo */
            iconst_0
            aload 3 /* curr */
            iconst_0
            daload
            dastore
        22: .line 497
            aload 9 /* moveTo */
            iconst_1
            aload 3 /* curr */
            iconst_1
            daload
            dastore
        23: .line 498
            goto 28
      StackMap locals:
      StackMap stack:
        24: iload 7 /* currSegType */
            iconst_4
            if_icmpne 28
        25: .line 499
            iconst_1
            istore 7 /* currSegType */
        26: .line 500
            aload 3 /* curr */
            iconst_0
            aload 9 /* moveTo */
            iconst_0
            daload
            dastore
        27: .line 501
            aload 3 /* curr */
            iconst_1
            aload 9 /* moveTo */
            iconst_1
            daload
            dastore
        28: .line 504
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
        29: .line 506
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* proxies */
        start local 10 // java.util.List proxies
        30: .line 507
            goto 51
        31: .line 508
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* iter */
            aload 4 /* next */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.currentSegment:([D)I
            istore 8 /* nextSegType */
        32: .line 510
            iload 8 /* nextSegType */
            ifne 36
        33: .line 511
            aload 9 /* moveTo */
            iconst_0
            aload 4 /* next */
            iconst_0
            daload
            dastore
        34: .line 512
            aload 9 /* moveTo */
            iconst_1
            aload 4 /* next */
            iconst_1
            daload
            dastore
        35: .line 513
            goto 40
      StackMap locals:
      StackMap stack:
        36: iload 8 /* nextSegType */
            iconst_4
            if_icmpne 40
        37: .line 514
            iconst_1
            istore 8 /* nextSegType */
        38: .line 515
            aload 4 /* next */
            iconst_0
            aload 9 /* moveTo */
            iconst_0
            daload
            dastore
        39: .line 516
            aload 4 /* next */
            iconst_1
            aload 9 /* moveTo */
            iconst_1
            daload
            dastore
        40: .line 519
      StackMap locals:
      StackMap stack:
            aload 10 /* proxies */
            aload 0 /* this */
            aload 2 /* prev */
            iload 6 /* prevSegType */
        41: .line 520
            aload 3 /* curr */
            iload 7 /* currSegType */
        42: .line 521
            aload 4 /* next */
            iload 8 /* nextSegType */
        43: .line 519
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.createMiddleMarker:([DI[DI[DI)Lorg/apache/batik/gvt/ProxyGraphicsNode;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 523
            aload 2 /* prev */
            astore 5 /* tmp */
        45: .line 524
            aload 3 /* curr */
            astore 2 /* prev */
        46: .line 525
            iload 7 /* currSegType */
            istore 6 /* prevSegType */
        47: .line 526
            aload 4 /* next */
            astore 3 /* curr */
        48: .line 527
            iload 8 /* nextSegType */
            istore 7 /* currSegType */
        49: .line 528
            aload 5 /* tmp */
            astore 4 /* next */
        50: .line 530
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.next:()V
        51: .line 507
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface org.apache.batik.ext.awt.geom.ExtendedPathIterator.isDone:()Z
            ifeq 31
        52: .line 533
            aload 10 /* proxies */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.batik.gvt.ProxyGraphicsNode
            astore 11 /* gn */
        start local 11 // org.apache.batik.gvt.ProxyGraphicsNode[] gn
        53: .line 534
            aload 10 /* proxies */
            aload 11 /* gn */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        54: .line 536
            aload 11 /* gn */
            areturn
        end local 11 // org.apache.batik.gvt.ProxyGraphicsNode[] gn
        end local 10 // java.util.List proxies
        end local 9 // double[] moveTo
        end local 8 // int nextSegType
        end local 7 // int currSegType
        end local 6 // int prevSegType
        end local 5 // double[] tmp
        end local 4 // double[] next
        end local 3 // double[] curr
        end local 2 // double[] prev
        end local 1 // org.apache.batik.ext.awt.geom.ExtendedPathIterator iter
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   55     0         this  Lorg/apache/batik/gvt/MarkerShapePainter;
            1   55     1         iter  Lorg/apache/batik/ext/awt/geom/ExtendedPathIterator;
            2   55     2         prev  [D
            3   55     3         curr  [D
            4   55     4         next  [D
            5   55     5          tmp  [D
            6   55     6  prevSegType  I
            7   55     7  currSegType  I
            8   55     8  nextSegType  I
           12   55     9       moveTo  [D
           30   55    10      proxies  Ljava/util/List;
           53   55    11           gn  [Lorg/apache/batik/gvt/ProxyGraphicsNode;

  private org.apache.batik.gvt.ProxyGraphicsNode createMiddleMarker(double[], int, double[], int, double[], int);
    descriptor: ([DI[DI[DI)Lorg/apache/batik/gvt/ProxyGraphicsNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=7
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] prev
        start local 2 // int prevSegType
        start local 3 // double[] curr
        start local 4 // int currSegType
        start local 5 // double[] next
        start local 6 // int nextSegType
         0: .line 548
            aload 0 /* this */
            aload 3 /* curr */
            iload 4 /* currSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
            astore 7 /* markerPosition */
        start local 7 // java.awt.geom.Point2D markerPosition
         1: .line 552
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getOrient:()D
            dstore 8 /* rotation */
        start local 8 // double rotation
         2: .line 553
            dload 8 /* rotation */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 7
         3: .line 554
            aload 0 /* this */
            aload 1 /* prev */
            iload 2 /* prevSegType */
         4: .line 555
            aload 3 /* curr */
            iload 4 /* currSegType */
         5: .line 556
            aload 5 /* next */
            iload 6 /* nextSegType */
         6: .line 554
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeRotation:([DI[DI[DI)D
            dstore 8 /* rotation */
         7: .line 560
      StackMap locals: java.awt.geom.Point2D double
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
         8: .line 561
            aload 7 /* markerPosition */
         9: .line 562
            dload 8 /* rotation */
        10: .line 560
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeMarkerTransform:(Lorg/apache/batik/gvt/Marker;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/AffineTransform;
            astore 10 /* markerTxf */
        start local 10 // java.awt.geom.AffineTransform markerTxf
        11: .line 564
            new org.apache.batik.gvt.ProxyGraphicsNode
            dup
            invokespecial org.apache.batik.gvt.ProxyGraphicsNode.<init>:()V
            astore 11 /* gn */
        start local 11 // org.apache.batik.gvt.ProxyGraphicsNode gn
        12: .line 566
            aload 11 /* gn */
            aload 0 /* this */
            getfield org.apache.batik.gvt.MarkerShapePainter.middleMarker:Lorg/apache/batik/gvt/Marker;
            invokevirtual org.apache.batik.gvt.Marker.getMarkerNode:()Lorg/apache/batik/gvt/GraphicsNode;
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setSource:(Lorg/apache/batik/gvt/GraphicsNode;)V
        13: .line 567
            aload 11 /* gn */
            aload 10 /* markerTxf */
            invokevirtual org.apache.batik.gvt.ProxyGraphicsNode.setTransform:(Ljava/awt/geom/AffineTransform;)V
        14: .line 569
            aload 11 /* gn */
            areturn
        end local 11 // org.apache.batik.gvt.ProxyGraphicsNode gn
        end local 10 // java.awt.geom.AffineTransform markerTxf
        end local 8 // double rotation
        end local 7 // java.awt.geom.Point2D markerPosition
        end local 6 // int nextSegType
        end local 5 // double[] next
        end local 4 // int currSegType
        end local 3 // double[] curr
        end local 2 // int prevSegType
        end local 1 // double[] prev
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0   15     1            prev  [D
            0   15     2     prevSegType  I
            0   15     3            curr  [D
            0   15     4     currSegType  I
            0   15     5            next  [D
            0   15     6     nextSegType  I
            1   15     7  markerPosition  Ljava/awt/geom/Point2D;
            2   15     8        rotation  D
           11   15    10       markerTxf  Ljava/awt/geom/AffineTransform;
           12   15    11              gn  Lorg/apache/batik/gvt/ProxyGraphicsNode;
    MethodParameters:
             Name  Flags
      prev         
      prevSegType  
      curr         
      currSegType  
      next         
      nextSegType  

  private double computeRotation(double[], int, double[], int, double[], int);
    descriptor: ([DI[DI[DI)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=7
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] prev
        start local 2 // int prevSegType
        start local 3 // double[] curr
        start local 4 // int currSegType
        start local 5 // double[] next
        start local 6 // int nextSegType
         0: .line 581
            aload 0 /* this */
            aload 1 /* prev */
            iload 2 /* prevSegType */
         1: .line 582
            aload 3 /* curr */
            iload 4 /* currSegType */
         2: .line 581
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeInSlope:([DI[DI)[D
            astore 7 /* inSlope */
        start local 7 // double[] inSlope
         3: .line 586
            aload 0 /* this */
            aload 3 /* curr */
            iload 4 /* currSegType */
         4: .line 587
            aload 5 /* next */
            iload 6 /* nextSegType */
         5: .line 586
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.computeOutSlope:([DI[DI)[D
            astore 8 /* outSlope */
        start local 8 // double[] outSlope
         6: .line 589
            aload 7 /* inSlope */
            ifnonnull 8
         7: .line 590
            aload 8 /* outSlope */
            astore 7 /* inSlope */
         8: .line 593
      StackMap locals: double[] double[]
      StackMap stack:
            aload 8 /* outSlope */
            ifnonnull 10
         9: .line 594
            aload 7 /* inSlope */
            astore 8 /* outSlope */
        10: .line 597
      StackMap locals:
      StackMap stack:
            aload 7 /* inSlope */
            ifnonnull 12
        11: .line 598
            dconst_0
            dreturn
        12: .line 601
      StackMap locals:
      StackMap stack:
            aload 7 /* inSlope */
            iconst_0
            daload
            aload 8 /* outSlope */
            iconst_0
            daload
            dadd
            dstore 9 /* dx */
        start local 9 // double dx
        13: .line 602
            aload 7 /* inSlope */
            iconst_1
            daload
            aload 8 /* outSlope */
            iconst_1
            daload
            dadd
            dstore 11 /* dy */
        start local 11 // double dy
        14: .line 604
            dload 9 /* dx */
            dconst_0
            dcmpl
            ifne 16
            dload 11 /* dy */
            dconst_0
            dcmpl
            ifne 16
        15: .line 607
            aload 7 /* inSlope */
            iconst_1
            daload
            aload 7 /* inSlope */
            iconst_0
            daload
            invokestatic java.lang.Math.atan2:(DD)D
            invokestatic java.lang.Math.toDegrees:(D)D
            ldc 90.0
            dadd
            dreturn
        16: .line 609
      StackMap locals: double double
      StackMap stack:
            dload 11 /* dy */
            dload 9 /* dx */
            invokestatic java.lang.Math.atan2:(DD)D
            invokestatic java.lang.Math.toDegrees:(D)D
            dreturn
        end local 11 // double dy
        end local 9 // double dx
        end local 8 // double[] outSlope
        end local 7 // double[] inSlope
        end local 6 // int nextSegType
        end local 5 // double[] next
        end local 4 // int currSegType
        end local 3 // double[] curr
        end local 2 // int prevSegType
        end local 1 // double[] prev
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0   17     1         prev  [D
            0   17     2  prevSegType  I
            0   17     3         curr  [D
            0   17     4  currSegType  I
            0   17     5         next  [D
            0   17     6  nextSegType  I
            3   17     7      inSlope  [D
            6   17     8     outSlope  [D
           13   17     9           dx  D
           14   17    11           dy  D
    MethodParameters:
             Name  Flags
      prev         
      prevSegType  
      curr         
      currSegType  
      next         
      nextSegType  

  private double[] computeInSlope(double[], int, double[], int);
    descriptor: ([DI[DI)[D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=26, args_size=5
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] prev
        start local 2 // int prevSegType
        start local 3 // double[] curr
        start local 4 // int currSegType
         0: .line 620
            aload 0 /* this */
            aload 3 /* curr */
            iload 4 /* currSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
            astore 5 /* currEndPoint */
        start local 5 // java.awt.geom.Point2D currEndPoint
         1: .line 622
            dconst_0
            dstore 6 /* dx */
        start local 6 // double dx
         2: .line 623
            dconst_0
            dstore 8 /* dy */
        start local 8 // double dy
         3: .line 625
            iload 4 /* currSegType */
            lookupswitch { // 6
                    0: 45
                    1: 4
                    2: 9
                    3: 12
                    4: 44
                 4321: 15
              default: 45
          }
         4: .line 630
      StackMap locals: java.awt.geom.Point2D double double
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prev */
            iload 2 /* prevSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
         5: .line 629
            astore 10 /* prevEndPoint */
        start local 10 // java.awt.geom.Point2D prevEndPoint
         6: .line 631
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 10 /* prevEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            dstore 6 /* dx */
         7: .line 632
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 10 /* prevEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            dstore 8 /* dy */
        end local 10 // java.awt.geom.Point2D prevEndPoint
         8: .line 634
            goto 46
         9: .line 639
      StackMap locals:
      StackMap stack:
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 3 /* curr */
            iconst_0
            daload
            dsub
            dstore 6 /* dx */
        10: .line 640
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 3 /* curr */
            iconst_1
            daload
            dsub
            dstore 8 /* dy */
        11: .line 641
            goto 46
        12: .line 646
      StackMap locals:
      StackMap stack:
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 3 /* curr */
            iconst_2
            daload
            dsub
            dstore 6 /* dx */
        13: .line 647
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 3 /* curr */
            iconst_3
            daload
            dsub
            dstore 8 /* dy */
        14: .line 648
            goto 46
        15: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prev */
            iload 2 /* prevSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
        16: .line 652
            astore 10 /* prevEndPoint */
        start local 10 // java.awt.geom.Point2D prevEndPoint
        17: .line 654
            aload 3 /* curr */
            iconst_3
            daload
            dconst_0
            dcmpl
            ifeq 18
            iconst_1
            goto 19
      StackMap locals: java.awt.geom.Point2D
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 11 /* large */
        start local 11 // boolean large
        20: .line 655
            aload 3 /* curr */
            iconst_4
            daload
            dconst_0
            dcmpl
            ifeq 21
            iconst_1
            goto 22
      StackMap locals: int
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 12 /* goLeft */
        start local 12 // boolean goLeft
        23: .line 657
            aload 10 /* prevEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 10 /* prevEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
        24: .line 658
            aload 3 /* curr */
            iconst_0
            daload
            aload 3 /* curr */
            iconst_1
            daload
            aload 3 /* curr */
            iconst_2
            daload
        25: .line 659
            iload 11 /* large */
            iload 12 /* goLeft */
            aload 3 /* curr */
            iconst_5
            daload
            aload 3 /* curr */
            bipush 6
            daload
        26: .line 656
            invokestatic org.apache.batik.ext.awt.geom.ExtendedGeneralPath.computeArc:(DDDDDZZDD)Ljava/awt/geom/Arc2D;
            astore 13 /* arc */
        start local 13 // java.awt.geom.Arc2D arc
        27: .line 660
            aload 13 /* arc */
            invokevirtual java.awt.geom.Arc2D.getAngleStart:()D
            aload 13 /* arc */
            invokevirtual java.awt.geom.Arc2D.getAngleExtent:()D
            dadd
            dstore 14 /* theta */
        start local 14 // double theta
        28: .line 661
            dload 14 /* theta */
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 14 /* theta */
        29: .line 662
            aload 13 /* arc */
            invokevirtual java.awt.geom.Arc2D.getWidth:()D
            dneg
            ldc 2.0
            ddiv
            dload 14 /* theta */
            invokestatic java.lang.Math.sin:(D)D
            dmul
            dstore 6 /* dx */
        30: .line 663
            aload 13 /* arc */
            invokevirtual java.awt.geom.Arc2D.getHeight:()D
            ldc 2.0
            ddiv
            dload 14 /* theta */
            invokestatic java.lang.Math.cos:(D)D
            dmul
            dstore 8 /* dy */
        31: .line 667
            aload 3 /* curr */
            iconst_2
            daload
            dconst_0
            dcmpl
            ifeq 39
        32: .line 668
            aload 3 /* curr */
            iconst_2
            daload
            dneg
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 16 /* ang */
        start local 16 // double ang
        33: .line 669
            dload 16 /* ang */
            invokestatic java.lang.Math.sin:(D)D
            dstore 18 /* sinA */
        start local 18 // double sinA
        34: .line 670
            dload 16 /* ang */
            invokestatic java.lang.Math.cos:(D)D
            dstore 20 /* cosA */
        start local 20 // double cosA
        35: .line 671
            dload 6 /* dx */
            dload 20 /* cosA */
            dmul
            dload 8 /* dy */
            dload 18 /* sinA */
            dmul
            dsub
            dstore 22 /* tdx */
        start local 22 // double tdx
        36: .line 672
            dload 6 /* dx */
            dload 18 /* sinA */
            dmul
            dload 8 /* dy */
            dload 20 /* cosA */
            dmul
            dadd
            dstore 24 /* tdy */
        start local 24 // double tdy
        37: .line 673
            dload 22 /* tdx */
            dstore 6 /* dx */
        38: .line 674
            dload 24 /* tdy */
            dstore 8 /* dy */
        end local 24 // double tdy
        end local 22 // double tdx
        end local 20 // double cosA
        end local 18 // double sinA
        end local 16 // double ang
        39: .line 678
      StackMap locals: int java.awt.geom.Arc2D double
      StackMap stack:
            iload 12 /* goLeft */
            ifeq 42
        40: .line 679
            dload 6 /* dx */
            dneg
            dstore 6 /* dx */
        41: .line 680
            goto 46
        42: .line 681
      StackMap locals:
      StackMap stack:
            dload 8 /* dy */
            dneg
            dstore 8 /* dy */
        end local 14 // double theta
        end local 13 // java.awt.geom.Arc2D arc
        end local 12 // boolean goLeft
        end local 11 // boolean large
        end local 10 // java.awt.geom.Point2D prevEndPoint
        43: .line 686
            goto 46
        44: .line 689
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter double[] int double[] int java.awt.geom.Point2D double double
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "should not have SEG_CLOSE here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 693
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        46: .line 696
      StackMap locals:
      StackMap stack:
            dload 6 /* dx */
            dconst_0
            dcmpl
            ifne 48
            dload 8 /* dy */
            dconst_0
            dcmpl
            ifne 48
        47: .line 697
            aconst_null
            areturn
        48: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            newarray 7
            dup
            iconst_0
            dload 6 /* dx */
            dastore
            dup
            iconst_1
            dload 8 /* dy */
            dastore
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.normalize:([D)[D
            areturn
        end local 8 // double dy
        end local 6 // double dx
        end local 5 // java.awt.geom.Point2D currEndPoint
        end local 4 // int currSegType
        end local 3 // double[] curr
        end local 2 // int prevSegType
        end local 1 // double[] prev
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0   49     1          prev  [D
            0   49     2   prevSegType  I
            0   49     3          curr  [D
            0   49     4   currSegType  I
            1   49     5  currEndPoint  Ljava/awt/geom/Point2D;
            2   49     6            dx  D
            3   49     8            dy  D
            6    8    10  prevEndPoint  Ljava/awt/geom/Point2D;
           17   43    10  prevEndPoint  Ljava/awt/geom/Point2D;
           20   43    11         large  Z
           23   43    12        goLeft  Z
           27   43    13           arc  Ljava/awt/geom/Arc2D;
           28   43    14         theta  D
           33   39    16           ang  D
           34   39    18          sinA  D
           35   39    20          cosA  D
           36   39    22           tdx  D
           37   39    24           tdy  D
    MethodParameters:
             Name  Flags
      prev         
      prevSegType  
      curr         
      currSegType  

  private double[] computeOutSlope(double[], int, double[], int);
    descriptor: ([DI[DI)[D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=25, args_size=5
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] curr
        start local 2 // int currSegType
        start local 3 // double[] next
        start local 4 // int nextSegType
         0: .line 709
            aload 0 /* this */
            aload 1 /* curr */
            iload 2 /* currSegType */
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.getSegmentTerminatingPoint:([DI)Ljava/awt/geom/Point2D;
            astore 5 /* currEndPoint */
        start local 5 // java.awt.geom.Point2D currEndPoint
         1: .line 711
            dconst_0
            dstore 6 /* dx */
        start local 6 // double dx
         2: dconst_0
            dstore 8 /* dy */
        start local 8 // double dy
         3: .line 713
            iload 4 /* nextSegType */
            lookupswitch { // 6
                    0: 35
                    1: 5
                    2: 5
                    3: 5
                    4: 4
                 4321: 8
              default: 35
          }
         4: .line 717
      StackMap locals: java.awt.geom.Point2D double double
      StackMap stack:
            goto 36
         5: .line 724
      StackMap locals:
      StackMap stack:
            aload 3 /* next */
            iconst_0
            daload
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            dstore 6 /* dx */
         6: .line 725
            aload 3 /* next */
            iconst_1
            daload
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            dstore 8 /* dy */
         7: .line 726
            goto 36
         8: .line 730
      StackMap locals:
      StackMap stack:
            aload 3 /* next */
            iconst_3
            daload
            dconst_0
            dcmpl
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 10 /* large */
        start local 10 // boolean large
        11: .line 731
            aload 3 /* next */
            iconst_4
            daload
            dconst_0
            dcmpl
            ifeq 12
            iconst_1
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 11 /* goLeft */
        start local 11 // boolean goLeft
        14: .line 733
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 5 /* currEndPoint */
            invokevirtual java.awt.geom.Point2D.getY:()D
        15: .line 734
            aload 3 /* next */
            iconst_0
            daload
            aload 3 /* next */
            iconst_1
            daload
            aload 3 /* next */
            iconst_2
            daload
        16: .line 735
            iload 10 /* large */
            iload 11 /* goLeft */
            aload 3 /* next */
            iconst_5
            daload
            aload 3 /* next */
            bipush 6
            daload
        17: .line 732
            invokestatic org.apache.batik.ext.awt.geom.ExtendedGeneralPath.computeArc:(DDDDDZZDD)Ljava/awt/geom/Arc2D;
            astore 12 /* arc */
        start local 12 // java.awt.geom.Arc2D arc
        18: .line 736
            aload 12 /* arc */
            invokevirtual java.awt.geom.Arc2D.getAngleStart:()D
            dstore 13 /* theta */
        start local 13 // double theta
        19: .line 737
            dload 13 /* theta */
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 13 /* theta */
        20: .line 738
            aload 12 /* arc */
            invokevirtual java.awt.geom.Arc2D.getWidth:()D
            dneg
            ldc 2.0
            ddiv
            dload 13 /* theta */
            invokestatic java.lang.Math.sin:(D)D
            dmul
            dstore 6 /* dx */
        21: .line 739
            aload 12 /* arc */
            invokevirtual java.awt.geom.Arc2D.getHeight:()D
            ldc 2.0
            ddiv
            dload 13 /* theta */
            invokestatic java.lang.Math.cos:(D)D
            dmul
            dstore 8 /* dy */
        22: .line 742
            aload 3 /* next */
            iconst_2
            daload
            dconst_0
            dcmpl
            ifeq 30
        23: .line 743
            aload 3 /* next */
            iconst_2
            daload
            dneg
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 15 /* ang */
        start local 15 // double ang
        24: .line 744
            dload 15 /* ang */
            invokestatic java.lang.Math.sin:(D)D
            dstore 17 /* sinA */
        start local 17 // double sinA
        25: .line 745
            dload 15 /* ang */
            invokestatic java.lang.Math.cos:(D)D
            dstore 19 /* cosA */
        start local 19 // double cosA
        26: .line 746
            dload 6 /* dx */
            dload 19 /* cosA */
            dmul
            dload 8 /* dy */
            dload 17 /* sinA */
            dmul
            dsub
            dstore 21 /* tdx */
        start local 21 // double tdx
        27: .line 747
            dload 6 /* dx */
            dload 17 /* sinA */
            dmul
            dload 8 /* dy */
            dload 19 /* cosA */
            dmul
            dadd
            dstore 23 /* tdy */
        start local 23 // double tdy
        28: .line 748
            dload 21 /* tdx */
            dstore 6 /* dx */
        29: .line 749
            dload 23 /* tdy */
            dstore 8 /* dy */
        end local 23 // double tdy
        end local 21 // double tdx
        end local 19 // double cosA
        end local 17 // double sinA
        end local 15 // double ang
        30: .line 754
      StackMap locals: int java.awt.geom.Arc2D double
      StackMap stack:
            iload 11 /* goLeft */
            ifeq 33
        31: .line 755
            dload 6 /* dx */
            dneg
            dstore 6 /* dx */
        32: .line 756
            goto 36
        33: .line 757
      StackMap locals:
      StackMap stack:
            dload 8 /* dy */
            dneg
            dstore 8 /* dy */
        end local 13 // double theta
        end local 12 // java.awt.geom.Arc2D arc
        end local 11 // boolean goLeft
        end local 10 // boolean large
        34: .line 762
            goto 36
        35: .line 766
      StackMap locals: org.apache.batik.gvt.MarkerShapePainter double[] int double[] int java.awt.geom.Point2D double double
      StackMap stack:
            aconst_null
            areturn
        36: .line 769
      StackMap locals:
      StackMap stack:
            dload 6 /* dx */
            dconst_0
            dcmpl
            ifne 38
            dload 8 /* dy */
            dconst_0
            dcmpl
            ifne 38
        37: .line 770
            aconst_null
            areturn
        38: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            newarray 7
            dup
            iconst_0
            dload 6 /* dx */
            dastore
            dup
            iconst_1
            dload 8 /* dy */
            dastore
            invokevirtual org.apache.batik.gvt.MarkerShapePainter.normalize:([D)[D
            areturn
        end local 8 // double dy
        end local 6 // double dx
        end local 5 // java.awt.geom.Point2D currEndPoint
        end local 4 // int nextSegType
        end local 3 // double[] next
        end local 2 // int currSegType
        end local 1 // double[] curr
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0          this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0   39     1          curr  [D
            0   39     2   currSegType  I
            0   39     3          next  [D
            0   39     4   nextSegType  I
            1   39     5  currEndPoint  Ljava/awt/geom/Point2D;
            2   39     6            dx  D
            3   39     8            dy  D
           11   34    10         large  Z
           14   34    11        goLeft  Z
           18   34    12           arc  Ljava/awt/geom/Arc2D;
           19   34    13         theta  D
           24   30    15           ang  D
           25   30    17          sinA  D
           26   30    19          cosA  D
           27   30    21           tdx  D
           28   30    23           tdy  D
    MethodParameters:
             Name  Flags
      curr         
      currSegType  
      next         
      nextSegType  

  public double[] normalize(double[]);
    descriptor: ([D)[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] v
         0: .line 780
            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
            dstore 2 /* n */
        start local 2 // double n
         1: .line 781
            aload 1 /* v */
            iconst_0
            dup2
            daload
            dload 2 /* n */
            ddiv
            dastore
         2: .line 782
            aload 1 /* v */
            iconst_1
            dup2
            daload
            dload 2 /* n */
            ddiv
            dastore
         3: .line 783
            aload 1 /* v */
            areturn
        end local 2 // double n
        end local 1 // double[] v
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    4     1     v  [D
            1    4     2     n  D
    MethodParameters:
      Name  Flags
      v     

  private java.awt.geom.AffineTransform computeMarkerTransform(org.apache.batik.gvt.Marker, java.awt.geom.Point2D, double);
    descriptor: (Lorg/apache/batik/gvt/Marker;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/AffineTransform;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // org.apache.batik.gvt.Marker marker
        start local 2 // java.awt.geom.Point2D markerPosition
        start local 3 // double rotation
         0: .line 793
            aload 1 /* marker */
            invokevirtual org.apache.batik.gvt.Marker.getRef:()Ljava/awt/geom/Point2D;
            astore 5 /* ref */
        start local 5 // java.awt.geom.Point2D ref
         1: .line 799
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            astore 6 /* txf */
        start local 6 // java.awt.geom.AffineTransform txf
         2: .line 801
            aload 6 /* txf */
            aload 2 /* markerPosition */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 5 /* ref */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
         3: .line 802
            aload 2 /* markerPosition */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 5 /* ref */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
         4: .line 801
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
         5: .line 804
            dload 3 /* rotation */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 7
         6: .line 805
            aload 6 /* txf */
            dload 3 /* rotation */
            invokestatic java.lang.Math.toRadians:(D)D
            aload 5 /* ref */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 5 /* ref */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokevirtual java.awt.geom.AffineTransform.rotate:(DDD)V
         7: .line 808
      StackMap locals: java.awt.geom.Point2D java.awt.geom.AffineTransform
      StackMap stack:
            aload 6 /* txf */
            areturn
        end local 6 // java.awt.geom.AffineTransform txf
        end local 5 // java.awt.geom.Point2D ref
        end local 3 // double rotation
        end local 2 // java.awt.geom.Point2D markerPosition
        end local 1 // org.apache.batik.gvt.Marker marker
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    8     1          marker  Lorg/apache/batik/gvt/Marker;
            0    8     2  markerPosition  Ljava/awt/geom/Point2D;
            0    8     3        rotation  D
            1    8     5             ref  Ljava/awt/geom/Point2D;
            2    8     6             txf  Ljava/awt/geom/AffineTransform;
    MethodParameters:
                Name  Flags
      marker          
      markerPosition  
      rotation        

  protected java.awt.geom.Point2D getSegmentTerminatingPoint(double[], int);
    descriptor: ([DI)Ljava/awt/geom/Point2D;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.apache.batik.gvt.MarkerShapePainter this
        start local 1 // double[] coords
        start local 2 // int segType
         0: .line 815
            iload 2 /* segType */
            lookupswitch { // 6
                    0: 3
                    1: 2
                    2: 4
                    3: 1
                    4: 6
                 4321: 5
              default: 6
          }
         1: .line 817
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            aload 1 /* coords */
            iconst_4
            daload
            aload 1 /* coords */
            iconst_5
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            areturn
         2: .line 819
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            aload 1 /* coords */
            iconst_0
            daload
            aload 1 /* coords */
            iconst_1
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            areturn
         3: .line 821
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            aload 1 /* coords */
            iconst_0
            daload
            aload 1 /* coords */
            iconst_1
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            areturn
         4: .line 823
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            aload 1 /* coords */
            iconst_2
            daload
            aload 1 /* coords */
            iconst_3
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            areturn
         5: .line 825
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            aload 1 /* coords */
            iconst_5
            daload
            aload 1 /* coords */
            bipush 6
            daload
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            areturn
         6: .line 828
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid segmentType:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* segType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int segType
        end local 1 // double[] coords
        end local 0 // org.apache.batik.gvt.MarkerShapePainter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/batik/gvt/MarkerShapePainter;
            0    7     1   coords  [D
            0    7     2  segType  I
    MethodParameters:
         Name  Flags
      coords   
      segType  
}
SourceFile: "MarkerShapePainter.java"
InnerClasses:
  public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D