public class org.apache.batik.bridge.StrokingTextPainter extends org.apache.batik.bridge.BasicTextPainter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.StrokingTextPainter
  super_class: org.apache.batik.bridge.BasicTextPainter
{
  public static final java.text.AttributedCharacterIterator$Attribute PAINT_INFO;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_REGIONS;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_PARAGRAPH;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute TEXT_COMPOUND_ID;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute GVT_FONT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute GVT_FONTS;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute BIDI_LEVEL;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute XPOS;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute YPOS;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute TEXTPATH;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute WRITING_MODE;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer WRITING_MODE_TTB;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer WRITING_MODE_RTL;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute ANCHOR_TYPE;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer ADJUST_SPACING;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer ADJUST_ALL;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute ALT_GLYPH_HANDLER;
    descriptor: Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static java.util.Set extendedAtts;
    descriptor: Ljava/util/Set;
    flags: (0x0008) ACC_STATIC

  protected static org.apache.batik.bridge.TextPainter singleton;
    descriptor: Lorg/apache/batik/bridge/TextPainter;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 68
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.PAINT_INFO:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         1: .line 67
            putstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 72
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_REGIONS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         3: .line 71
            putstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
         4: .line 76
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_PARAGRAPH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         5: .line 75
            putstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
         6: .line 80
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.TEXT_COMPOUND_ID:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         7: .line 79
            putstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
         8: .line 84
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         9: .line 83
            putstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
        10: .line 88
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONTS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        11: .line 87
            putstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONTS:Ljava/text/AttributedCharacterIterator$Attribute;
        12: .line 92
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.BIDI_LEVEL:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        13: .line 91
            putstatic org.apache.batik.bridge.StrokingTextPainter.BIDI_LEVEL:Ljava/text/AttributedCharacterIterator$Attribute;
        14: .line 96
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        15: .line 95
            putstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
        16: .line 100
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        17: .line 99
            putstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
        18: .line 104
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.TEXTPATH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        19: .line 103
            putstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
        20: .line 108
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        21: .line 107
            putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
        22: .line 111
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE_TTB:Ljava/lang/Integer;
        23: .line 110
            putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_TTB:Ljava/lang/Integer;
        24: .line 114
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE_RTL:Ljava/lang/Integer;
        25: .line 113
            putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_RTL:Ljava/lang/Integer;
        26: .line 118
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ANCHOR_TYPE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        27: .line 117
            putstatic org.apache.batik.bridge.StrokingTextPainter.ANCHOR_TYPE:Ljava/text/AttributedCharacterIterator$Attribute;
        28: .line 121
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_SPACING:Ljava/lang/Integer;
        29: .line 120
            putstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
        30: .line 123
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_ALL:Ljava/lang/Integer;
        31: .line 122
            putstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_ALL:Ljava/lang/Integer;
        32: .line 125
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        33: .line 124
            putstatic org.apache.batik.bridge.StrokingTextPainter.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        34: .line 127
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
        35: .line 130
            getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        36: .line 131
            getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 132
            getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 139
            new org.apache.batik.bridge.StrokingTextPainter
            dup
            invokespecial org.apache.batik.bridge.StrokingTextPainter.<init>:()V
            putstatic org.apache.batik.bridge.StrokingTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
         0: .line 64
            aload 0 /* this */
            invokespecial org.apache.batik.bridge.BasicTextPainter.<init>:()V
            return
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/StrokingTextPainter;

  public static org.apache.batik.bridge.TextPainter getInstance();
    descriptor: ()Lorg/apache/batik/bridge/TextPainter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 145
            getstatic org.apache.batik.bridge.StrokingTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void paint(org.apache.batik.bridge.TextNode, java.awt.Graphics2D);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/awt/Graphics2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.awt.Graphics2D g2d
         0: .line 156
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 3 /* aci */
        start local 3 // java.text.AttributedCharacterIterator aci
         1: .line 157
            aload 3 /* aci */
            ifnonnull 3
         2: .line 158
            return
         3: .line 160
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 3 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 4 /* textRuns */
        start local 4 // java.util.List textRuns
         4: .line 164
            aload 0 /* this */
            aload 4 /* textRuns */
            aload 2 /* g2d */
            iconst_1
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
         5: .line 165
            aload 0 /* this */
            aload 4 /* textRuns */
            aload 2 /* g2d */
            iconst_4
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
         6: .line 166
            aload 0 /* this */
            aload 4 /* textRuns */
            aload 2 /* g2d */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintTextRuns:(Ljava/util/List;Ljava/awt/Graphics2D;)V
         7: .line 167
            aload 0 /* this */
         8: .line 168
            aload 4 /* textRuns */
            aload 2 /* g2d */
            iconst_2
         9: .line 167
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
        10: .line 169
            return
        end local 4 // java.util.List textRuns
        end local 3 // java.text.AttributedCharacterIterator aci
        end local 2 // java.awt.Graphics2D g2d
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   11     1      node  Lorg/apache/batik/bridge/TextNode;
            0   11     2       g2d  Ljava/awt/Graphics2D;
            1   11     3       aci  Ljava/text/AttributedCharacterIterator;
            4   11     4  textRuns  Ljava/util/List;
    MethodParameters:
      Name  Flags
      node  
      g2d   

  protected void printAttrs(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.text.AttributedCharacterIterator aci
         0: .line 172
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         1: .line 173
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 2 /* start */
        start local 2 // int start
         2: .line 174
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "AttrRuns: "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         3: .line 175
            goto 8
         4: .line 176
      StackMap locals: int
      StackMap stack:
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:()I
            istore 3 /* end */
        start local 3 // int end
         5: .line 177
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 3 /* end */
            iload 2 /* start */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         6: .line 178
            aload 1 /* aci */
            iload 3 /* end */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
         7: .line 179
            iload 3 /* end */
            istore 2 /* start */
        end local 3 // int end
         8: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.current:()C
            ldc 65535
            if_icmpne 4
         9: .line 181
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ""
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 182
            return
        end local 2 // int start
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   11     1    aci  Ljava/text/AttributedCharacterIterator;
            2   11     2  start  I
            5    8     3    end  I
    MethodParameters:
      Name  Flags
      aci   

  public java.util.List getTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.text.AttributedCharacterIterator aci
         0: .line 185
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
            astore 3 /* textRuns */
        start local 3 // java.util.List textRuns
         1: .line 186
            aload 3 /* textRuns */
            ifnull 3
         2: .line 187
            aload 3 /* textRuns */
            areturn
         3: .line 190
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextChunkACIs:(Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
            astore 4 /* chunkACIs */
        start local 4 // java.text.AttributedCharacterIterator[] chunkACIs
         4: .line 191
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* aci */
            aload 4 /* chunkACIs */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 3 /* textRuns */
         5: .line 194
            aload 1 /* node */
            aload 3 /* textRuns */
            invokevirtual org.apache.batik.bridge.TextNode.setTextRuns:(Ljava/util/List;)V
         6: .line 195
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
            areturn
        end local 4 // java.text.AttributedCharacterIterator[] chunkACIs
        end local 3 // java.util.List textRuns
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0    7     1       node  Lorg/apache/batik/bridge/TextNode;
            0    7     2        aci  Ljava/text/AttributedCharacterIterator;
            1    7     3   textRuns  Ljava/util/List;
            4    7     4  chunkACIs  [Ljava/text/AttributedCharacterIterator;
    MethodParameters:
      Name  Flags
      node  
      aci   

  public java.util.List computeTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, java.text.AttributedCharacterIterator[]);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.text.AttributedCharacterIterator aci
        start local 3 // java.text.AttributedCharacterIterator[] chunkACIs
         0: .line 201
            aload 3 /* chunkACIs */
            arraylength
            anewarray int[]
            astore 4 /* chunkCharMaps */
        start local 4 // int[][] chunkCharMaps
         1: .line 204
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 5 /* chunkStart */
        start local 5 // int chunkStart
         2: .line 205
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 13
         4: .line 207
      StackMap locals: int[][] int int
      StackMap stack:
            new org.apache.batik.gvt.text.BidiAttributedCharacterIterator
            dup
         5: .line 208
            aload 3 /* chunkACIs */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.batik.bridge.StrokingTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
            iload 5 /* chunkStart */
         6: .line 207
            invokespecial org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>:(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;I)V
            astore 7 /* iter */
        start local 7 // org.apache.batik.gvt.text.BidiAttributedCharacterIterator iter
         7: .line 209
            aload 3 /* chunkACIs */
            iload 6 /* i */
            aload 7 /* iter */
            aastore
         8: .line 210
            aload 4 /* chunkCharMaps */
            iload 6 /* i */
            aload 7 /* iter */
            invokevirtual org.apache.batik.gvt.text.BidiAttributedCharacterIterator.getCharMap:()[I
            aastore
         9: .line 211
            iload 5 /* chunkStart */
            aload 3 /* chunkACIs */
            iload 6 /* i */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
        10: .line 212
            aload 3 /* chunkACIs */
            iload 6 /* i */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
        11: .line 211
            isub
            iadd
            istore 5 /* chunkStart */
        end local 7 // org.apache.batik.gvt.text.BidiAttributedCharacterIterator iter
        12: .line 205
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 3 /* chunkACIs */
            arraylength
            if_icmplt 4
        end local 6 // int i
        14: .line 214
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* aci */
            aload 3 /* chunkACIs */
            aload 4 /* chunkCharMaps */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;[[I)Ljava/util/List;
            areturn
        end local 5 // int chunkStart
        end local 4 // int[][] chunkCharMaps
        end local 3 // java.text.AttributedCharacterIterator[] chunkACIs
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   15     1           node  Lorg/apache/batik/bridge/TextNode;
            0   15     2            aci  Ljava/text/AttributedCharacterIterator;
            0   15     3      chunkACIs  [Ljava/text/AttributedCharacterIterator;
            1   15     4  chunkCharMaps  [[I
            2   15     5     chunkStart  I
            3   14     6              i  I
            7   12     7           iter  Lorg/apache/batik/gvt/text/BidiAttributedCharacterIterator;
    MethodParameters:
           Name  Flags
      node       
      aci        
      chunkACIs  

  protected java.util.List computeTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, java.text.AttributedCharacterIterator[], int[][]);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;[[I)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.text.AttributedCharacterIterator aci
        start local 3 // java.text.AttributedCharacterIterator[] chunkACIs
        start local 4 // int[][] chunkCharMaps
         0: .line 222
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            pop
         1: .line 223
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 6
         3: .line 224
      StackMap locals: int
      StackMap stack:
            aload 3 /* chunkACIs */
            iload 5 /* i */
            aload 0 /* this */
            aload 3 /* chunkACIs */
            iload 5 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.createModifiedACIForFontMatching:(Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
            aastore
         4: .line 225
            aload 3 /* chunkACIs */
            iload 5 /* i */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            pop
            aload 3 /* chunkACIs */
            iload 5 /* i */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            pop
         5: .line 223
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 3 /* chunkACIs */
            arraylength
            if_icmplt 3
        end local 5 // int i
         7: .line 229
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* perNodeRuns */
        start local 5 // java.util.List perNodeRuns
         8: .line 230
            aconst_null
            astore 7 /* prevChunk */
        start local 7 // org.apache.batik.bridge.StrokingTextPainter$TextChunk prevChunk
         9: .line 231
            iconst_0
            istore 8 /* currentChunk */
        start local 8 // int currentChunk
        10: .line 233
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getLocation:()Ljava/awt/geom/Point2D;
            astore 9 /* location */
        start local 9 // java.awt.geom.Point2D location
        11: .line 237
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D
      StackMap stack:
            aload 3 /* chunkACIs */
            iload 8 /* currentChunk */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        12: .line 239
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* perChunkRuns */
        start local 10 // java.util.List perChunkRuns
        13: .line 240
            aload 0 /* this */
            aload 1 /* node */
        14: .line 241
            aload 3 /* chunkACIs */
            iload 8 /* currentChunk */
            aaload
        15: .line 242
            aload 4 /* chunkCharMaps */
            ifnull 16
            aload 4 /* chunkCharMaps */
            iload 8 /* currentChunk */
            aaload
            goto 17
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
      StackMap stack: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator
        16: aconst_null
        17: .line 243
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
      StackMap stack: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[]
            aload 10 /* perChunkRuns */
        18: .line 244
            aload 7 /* prevChunk */
        19: .line 240
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextChunk:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[ILjava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
            astore 6 /* chunk */
        start local 6 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
        20: .line 248
            aload 0 /* this */
            aload 6 /* chunk */
            aload 10 /* perChunkRuns */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.reorderTextRuns:(Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;Ljava/util/List;)Ljava/util/List;
            astore 10 /* perChunkRuns */
        21: .line 251
            aload 3 /* chunkACIs */
            iload 8 /* currentChunk */
            aaload
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        22: .line 252
            aload 6 /* chunk */
            ifnull 24
        23: .line 253
            aload 0 /* this */
            aload 9 /* location */
            aload 10 /* perChunkRuns */
            aload 6 /* chunk */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.adjustChunkOffsets:(Ljava/awt/geom/Point2D;Ljava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Ljava/awt/geom/Point2D;
            astore 9 /* location */
        24: .line 257
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
      StackMap stack:
            aload 5 /* perNodeRuns */
            aload 10 /* perChunkRuns */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        25: .line 259
            aload 6 /* chunk */
            astore 7 /* prevChunk */
        26: .line 260
            iinc 8 /* currentChunk */ 1
        end local 10 // java.util.List perChunkRuns
        27: .line 262
            aload 6 /* chunk */
            ifnull 29
            iload 8 /* currentChunk */
            aload 3 /* chunkACIs */
            arraylength
        28: .line 234
            if_icmplt 11
        29: .line 264
      StackMap locals:
      StackMap stack:
            aload 5 /* perNodeRuns */
            areturn
        end local 9 // java.awt.geom.Point2D location
        end local 8 // int currentChunk
        end local 7 // org.apache.batik.bridge.StrokingTextPainter$TextChunk prevChunk
        end local 6 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
        end local 5 // java.util.List perNodeRuns
        end local 4 // int[][] chunkCharMaps
        end local 3 // java.text.AttributedCharacterIterator[] chunkACIs
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   30     1           node  Lorg/apache/batik/bridge/TextNode;
            0   30     2            aci  Ljava/text/AttributedCharacterIterator;
            0   30     3      chunkACIs  [Ljava/text/AttributedCharacterIterator;
            0   30     4  chunkCharMaps  [[I
            2    7     5              i  I
            8   30     5    perNodeRuns  Ljava/util/List;
           20   30     6          chunk  Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
            9   30     7      prevChunk  Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
           10   30     8   currentChunk  I
           11   30     9       location  Ljava/awt/geom/Point2D;
           13   27    10   perChunkRuns  Ljava/util/List;
    MethodParameters:
               Name  Flags
      node           
      aci            
      chunkACIs      
      chunkCharMaps  

  protected java.util.List reorderTextRuns(org.apache.batik.bridge.StrokingTextPainter$TextChunk, java.util.List);
    descriptor: (Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;Ljava/util/List;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
        start local 2 // java.util.List runs
         0: .line 278
            aload 2 /* runs */
            areturn
        end local 2 // java.util.List runs
        end local 1 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0    1     1  chunk  Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
            0    1     2   runs  Ljava/util/List;
    MethodParameters:
       Name  Flags
      chunk  
      runs   

  protected java.text.AttributedCharacterIterator[] getTextChunkACIs(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.text.AttributedCharacterIterator aci
         0: .line 288
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* aciList */
        start local 2 // java.util.List aciList
         1: .line 289
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 3 /* chunkStartIndex */
        start local 3 // int chunkStartIndex
         2: .line 290
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         3: .line 291
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            astore 4 /* writingMode */
        start local 4 // java.lang.Object writingMode
         4: .line 292
            aload 4 /* writingMode */
            getstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_TTB:Ljava/lang/Integer;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: java.util.List int java.lang.Object
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* vertical */
        start local 5 // boolean vertical
         7: .line 294
            goto 66
         8: .line 295
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* prevTextPath */
        start local 6 // org.apache.batik.gvt.text.TextPath prevTextPath
         9: .line 296
            iload 3 /* chunkStartIndex */
            istore 7 /* start */
        start local 7 // int start
        10: iconst_0
            istore 8 /* end */
        start local 8 // int end
        11: .line 297
            goto 60
        12: .line 299
      StackMap locals: org.apache.batik.gvt.text.TextPath int int
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPath
            astore 9 /* textPath */
        start local 9 // org.apache.batik.gvt.text.TextPath textPath
        13: .line 301
            iload 7 /* start */
            iload 3 /* chunkStartIndex */
            if_icmpeq 25
        14: .line 307
            iload 5 /* vertical */
            ifeq 18
        15: .line 308
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 10 /* runY */
        start local 10 // java.lang.Float runY
        16: .line 310
            aload 10 /* runY */
            ifnull 21
            aload 10 /* runY */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 21
        17: .line 311
            goto 61
        end local 10 // java.lang.Float runY
        18: .line 313
      StackMap locals: org.apache.batik.gvt.text.TextPath
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 10 /* runX */
        start local 10 // java.lang.Float runX
        19: .line 315
            aload 10 /* runX */
            ifnull 21
            aload 10 /* runX */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 21
        20: .line 316
            goto 61
        end local 10 // java.lang.Float runX
        21: .line 320
      StackMap locals:
      StackMap stack:
            aload 6 /* prevTextPath */
            ifnonnull 23
            aload 9 /* textPath */
            ifnull 23
        22: .line 321
            goto 61
        23: .line 326
      StackMap locals:
      StackMap stack:
            aload 6 /* prevTextPath */
            ifnull 25
            aload 9 /* textPath */
            ifnonnull 25
        24: .line 327
            goto 61
        25: .line 330
      StackMap locals:
      StackMap stack:
            aload 9 /* textPath */
            astore 6 /* prevTextPath */
        26: .line 334
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            ifnull 30
        27: .line 335
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 8 /* end */
        28: .line 336
            aload 1 /* aci */
            iload 8 /* end */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        29: .line 337
            goto 61
        30: .line 341
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 8 /* end */
        31: .line 343
            iload 7 /* start */
            iload 3 /* chunkStartIndex */
            if_icmpeq 33
        32: .line 347
            goto 59
        33: .line 352
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.ANCHOR_TYPE:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.TextNode$Anchor
            astore 10 /* anchor */
        start local 10 // org.apache.batik.bridge.TextNode$Anchor anchor
        34: .line 353
            aload 10 /* anchor */
            getstatic org.apache.batik.bridge.TextNode$Anchor.START:Lorg/apache/batik/bridge/TextNode$Anchor;
            if_acmpne 36
        35: .line 354
            goto 59
        36: .line 361
      StackMap locals: org.apache.batik.bridge.TextNode$Anchor
      StackMap stack:
            iload 5 /* vertical */
            ifeq 40
        37: .line 362
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 11 /* runY */
        start local 11 // java.lang.Float runY
        38: .line 364
            aload 11 /* runY */
            ifnull 59
            aload 11 /* runY */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 43
        39: .line 366
            goto 59
        end local 11 // java.lang.Float runY
        40: .line 368
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 11 /* runX */
        start local 11 // java.lang.Float runX
        41: .line 370
            aload 11 /* runX */
            ifnull 59
            aload 11 /* runX */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 43
        42: .line 372
            goto 59
        end local 11 // java.lang.Float runX
        43: .line 377
      StackMap locals:
      StackMap stack:
            iload 7 /* start */
            iconst_1
            iadd
            istore 11 /* i */
        start local 11 // int i
        44: goto 58
        45: .line 378
      StackMap locals: int
      StackMap stack:
            aload 1 /* aci */
            iload 11 /* i */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        46: .line 379
            iload 5 /* vertical */
            ifeq 50
        47: .line 380
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 12 /* runY */
        start local 12 // java.lang.Float runY
        48: .line 381
            aload 12 /* runY */
            ifnull 59
            aload 12 /* runY */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 53
        49: .line 382
            goto 59
        end local 12 // java.lang.Float runY
        50: .line 384
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 12 /* runX */
        start local 12 // java.lang.Float runX
        51: .line 385
            aload 12 /* runX */
            ifnull 59
            aload 12 /* runX */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 53
        52: .line 386
            goto 59
        end local 12 // java.lang.Float runX
        53: .line 388
      StackMap locals:
      StackMap stack:
            aload 2 /* aciList */
            new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
            dup
        54: .line 389
            aload 1 /* aci */
            iload 11 /* i */
            iconst_1
            isub
            iload 11 /* i */
            invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
        55: .line 388
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 390
            iload 11 /* i */
            istore 3 /* chunkStartIndex */
        57: .line 377
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 11 /* i */
            iload 8 /* end */
            if_icmplt 45
        end local 11 // int i
        end local 10 // org.apache.batik.bridge.TextNode$Anchor anchor
        end local 9 // org.apache.batik.gvt.text.TextPath textPath
        59: .line 297
      StackMap locals:
      StackMap stack:
            iload 8 /* end */
            istore 7 /* start */
      StackMap locals:
      StackMap stack:
        60: aload 1 /* aci */
            iload 7 /* start */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            ldc 65535
            if_icmpne 12
        end local 8 // int end
        end local 7 // int start
        61: .line 395
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getIndex:()I
            istore 7 /* chunkEndIndex */
        start local 7 // int chunkEndIndex
        62: .line 396
            aload 2 /* aciList */
            new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
            dup
        63: .line 397
            aload 1 /* aci */
            iload 3 /* chunkStartIndex */
            iload 7 /* chunkEndIndex */
            invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
        64: .line 396
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        65: .line 399
            iload 7 /* chunkEndIndex */
            istore 3 /* chunkStartIndex */
        end local 7 // int chunkEndIndex
        end local 6 // org.apache.batik.gvt.text.TextPath prevTextPath
        66: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            iload 3 /* chunkStartIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            ldc 65535
            if_icmpne 8
        67: .line 404
            aload 2 /* aciList */
            invokeinterface java.util.List.size:()I
            anewarray java.text.AttributedCharacterIterator
        68: .line 403
            astore 6 /* aciArray */
        start local 6 // java.text.AttributedCharacterIterator[] aciArray
        69: .line 405
            aload 2 /* aciList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        start local 7 // java.util.Iterator iter
        70: .line 406
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        71: goto 74
        72: .line 407
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.Iterator int
      StackMap stack:
            aload 6 /* aciArray */
            iload 8 /* i */
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.text.AttributedCharacterIterator
            aastore
        73: .line 406
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        74: aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 72
        end local 8 // int i
        75: .line 409
            aload 6 /* aciArray */
            areturn
        end local 7 // java.util.Iterator iter
        end local 6 // java.text.AttributedCharacterIterator[] aciArray
        end local 5 // boolean vertical
        end local 4 // java.lang.Object writingMode
        end local 3 // int chunkStartIndex
        end local 2 // java.util.List aciList
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   76     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   76     1              aci  Ljava/text/AttributedCharacterIterator;
            1   76     2          aciList  Ljava/util/List;
            2   76     3  chunkStartIndex  I
            4   76     4      writingMode  Ljava/lang/Object;
            7   76     5         vertical  Z
            9   66     6     prevTextPath  Lorg/apache/batik/gvt/text/TextPath;
           10   61     7            start  I
           11   61     8              end  I
           13   59     9         textPath  Lorg/apache/batik/gvt/text/TextPath;
           16   18    10             runY  Ljava/lang/Float;
           19   21    10             runX  Ljava/lang/Float;
           34   59    10           anchor  Lorg/apache/batik/bridge/TextNode$Anchor;
           38   40    11             runY  Ljava/lang/Float;
           41   43    11             runX  Ljava/lang/Float;
           44   59    11                i  I
           48   50    12             runY  Ljava/lang/Float;
           51   53    12             runX  Ljava/lang/Float;
           62   66     7    chunkEndIndex  I
           69   76     6         aciArray  [Ljava/text/AttributedCharacterIterator;
           70   76     7             iter  Ljava/util/Iterator;
           71   75     8                i  I
    MethodParameters:
      Name  Flags
      aci   

  protected java.text.AttributedCharacterIterator createModifiedACIForFontMatching(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=25, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.text.AttributedCharacterIterator aci
         0: .line 425
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         1: .line 426
            aconst_null
            astore 2 /* as */
        start local 2 // java.text.AttributedString as
         2: .line 427
            iconst_0
            istore 3 /* asOff */
        start local 3 // int asOff
         3: .line 428
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 4 /* begin */
        start local 4 // int begin
         4: .line 429
            iconst_1
            istore 5 /* moreChunks */
        start local 5 // boolean moreChunks
         5: .line 430
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunStart:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 7 /* end */
        start local 7 // int end
         6: .line 431
            goto 114
         7: .line 432
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int top int
      StackMap stack:
            iload 7 /* end */
            istore 6 /* start */
        start local 6 // int start
         8: .line 433
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 7 /* end */
         9: .line 434
            iload 7 /* end */
            iload 6 /* start */
            isub
            istore 8 /* aciLength */
        start local 8 // int aciLength
        10: .line 437
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONTS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* fonts */
        start local 9 // java.util.List fonts
        11: .line 440
            ldc 12.0
            fstore 10 /* fontSize */
        start local 10 // float fontSize
        12: .line 441
            aload 1 /* aci */
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 11 /* fsFloat */
        start local 11 // java.lang.Float fsFloat
        13: .line 442
            aload 11 /* fsFloat */
            ifnull 15
        14: .line 443
            aload 11 /* fsFloat */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 10 /* fontSize */
        15: .line 447
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float
      StackMap stack:
            aload 9 /* fonts */
            invokeinterface java.util.List.size:()I
            ifne 17
        16: .line 449
            aload 9 /* fonts */
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getFontFamilyResolver:()Lorg/apache/batik/bridge/FontFamilyResolver;
            invokeinterface org.apache.batik.bridge.FontFamilyResolver.getDefault:()Lorg/apache/batik/gvt/font/GVTFontFamily;
            fload 10 /* fontSize */
            aload 1 /* aci */
            invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 454
      StackMap locals:
      StackMap stack:
            iload 8 /* aciLength */
            newarray 4
            astore 12 /* fontAssigned */
        start local 12 // boolean[] fontAssigned
        18: .line 456
            aload 2 /* as */
            ifnonnull 20
        19: .line 457
            new java.text.AttributedString
            dup
            aload 1 /* aci */
            invokespecial java.text.AttributedString.<init>:(Ljava/text/AttributedCharacterIterator;)V
            astore 2 /* as */
        20: .line 459
      StackMap locals: boolean[]
      StackMap stack:
            aconst_null
            astore 13 /* defaultFont */
        start local 13 // org.apache.batik.gvt.font.GVTFont defaultFont
        21: .line 460
            iconst_0
            istore 14 /* numSet */
        start local 14 // int numSet
        22: .line 461
            iload 6 /* start */
            istore 15 /* firstUnset */
        start local 15 // int firstUnset
        23: .line 463
            aload 9 /* fonts */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 71
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top top java.util.Iterator
      StackMap stack:
        24: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 17 /* font1 */
        start local 17 // java.lang.Object font1
        25: .line 466
            iload 15 /* firstUnset */
            istore 19 /* currentIndex */
        start local 19 // int currentIndex
        26: .line 467
            iconst_0
            istore 16 /* firstUnsetSet */
        start local 16 // boolean firstUnsetSet
        27: .line 468
            aload 1 /* aci */
            iload 19 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        28: .line 470
            aload 17 /* font1 */
            checkcast org.apache.batik.gvt.font.GVTFont
            astore 20 /* font */
        start local 20 // org.apache.batik.gvt.font.GVTFont font
        29: .line 471
            aload 13 /* defaultFont */
            ifnonnull 68
        30: .line 472
            aload 20 /* font */
            astore 13 /* defaultFont */
        31: .line 474
            goto 68
        32: .line 475
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int int java.lang.Object java.util.Iterator int org.apache.batik.gvt.font.GVTFont
      StackMap stack:
            aload 20 /* font */
        33: .line 476
            aload 1 /* aci */
            iload 19 /* currentIndex */
            iload 7 /* end */
        34: .line 475
            invokeinterface org.apache.batik.gvt.font.GVTFont.canDisplayUpTo:(Ljava/text/CharacterIterator;II)I
            istore 21 /* displayUpToIndex */
        start local 21 // int displayUpToIndex
        35: .line 479
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            astore 22 /* altGlyphElement */
        start local 22 // java.lang.Object altGlyphElement
        36: .line 480
            aload 22 /* altGlyphElement */
            ifnull 38
        37: .line 483
            iconst_m1
            istore 21 /* displayUpToIndex */
        38: .line 486
      StackMap locals: int java.lang.Object
      StackMap stack:
            iload 21 /* displayUpToIndex */
            iconst_m1
            if_icmpne 40
        39: .line 488
            iload 7 /* end */
            istore 21 /* displayUpToIndex */
        40: .line 491
      StackMap locals:
      StackMap stack:
            iload 21 /* displayUpToIndex */
            iload 19 /* currentIndex */
            if_icmpgt 46
        41: .line 492
            iload 16 /* firstUnsetSet */
            ifne 44
        42: .line 493
            iload 19 /* currentIndex */
            istore 15 /* firstUnset */
        43: .line 494
            iconst_1
            istore 16 /* firstUnsetSet */
        44: .line 497
      StackMap locals:
      StackMap stack:
            iinc 19 /* currentIndex */ 1
        45: .line 498
            goto 68
        46: .line 502
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 23 /* runStart */
        start local 23 // int runStart
        47: .line 503
            iload 19 /* currentIndex */
            istore 24 /* j */
        start local 24 // int j
        48: goto 61
        49: .line 504
      StackMap locals: int int
      StackMap stack:
            aload 12 /* fontAssigned */
            iload 24 /* j */
            iload 6 /* start */
            isub
            baload
            ifeq 56
        50: .line 505
            iload 23 /* runStart */
            iconst_m1
            if_icmpeq 58
        51: .line 506
            aload 2 /* as */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 20 /* font */
        52: .line 507
            iload 23 /* runStart */
            iload 4 /* begin */
            isub
            iload 24 /* j */
            iload 4 /* begin */
            isub
        53: .line 506
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        54: .line 508
            iconst_m1
            istore 23 /* runStart */
        55: .line 510
            goto 58
        56: .line 511
      StackMap locals:
      StackMap stack:
            iload 23 /* runStart */
            iconst_m1
            if_icmpne 58
        57: .line 512
            iload 24 /* j */
            istore 23 /* runStart */
        58: .line 514
      StackMap locals:
      StackMap stack:
            aload 12 /* fontAssigned */
            iload 24 /* j */
            iload 6 /* start */
            isub
            iconst_1
            bastore
        59: .line 515
            iinc 14 /* numSet */ 1
        60: .line 503
            iinc 24 /* j */ 1
      StackMap locals:
      StackMap stack:
        61: iload 24 /* j */
            iload 21 /* displayUpToIndex */
            if_icmplt 49
        end local 24 // int j
        62: .line 517
            iload 23 /* runStart */
            iconst_m1
            if_icmpeq 67
        63: .line 518
            aload 2 /* as */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 20 /* font */
        64: .line 519
            iload 23 /* runStart */
            iload 4 /* begin */
            isub
        65: .line 520
            iload 21 /* displayUpToIndex */
            iload 4 /* begin */
            isub
        66: .line 518
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        67: .line 525
      StackMap locals:
      StackMap stack:
            iload 21 /* displayUpToIndex */
            iconst_1
            iadd
            istore 19 /* currentIndex */
        end local 23 // int runStart
        end local 22 // java.lang.Object altGlyphElement
        end local 21 // int displayUpToIndex
        68: .line 474
      StackMap locals:
      StackMap stack:
            iload 19 /* currentIndex */
            iload 7 /* end */
            if_icmplt 32
        69: .line 529
            iload 14 /* numSet */
            iload 8 /* aciLength */
            if_icmpne 71
        70: .line 530
            goto 72
        end local 20 // org.apache.batik.gvt.font.GVTFont font
        end local 19 // int currentIndex
        end local 17 // java.lang.Object font1
        end local 16 // boolean firstUnsetSet
        71: .line 463
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        72: .line 534
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int
      StackMap stack:
            iconst_m1
            istore 17 /* runStart */
        start local 17 // int runStart
        73: .line 535
            aconst_null
            astore 18 /* prevFF */
        start local 18 // org.apache.batik.gvt.font.GVTFontFamily prevFF
        74: .line 536
            aload 13 /* defaultFont */
            astore 19 /* prevF */
        start local 19 // org.apache.batik.gvt.font.GVTFont prevF
        75: .line 537
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        76: goto 105
        77: .line 538
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top int org.apache.batik.gvt.font.GVTFontFamily org.apache.batik.gvt.font.GVTFont int
      StackMap stack:
            aload 12 /* fontAssigned */
            iload 20 /* i */
            baload
            ifeq 86
        78: .line 539
            iload 17 /* runStart */
            iconst_m1
            if_icmpeq 104
        79: .line 540
            aload 2 /* as */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 19 /* prevF */
        80: .line 541
            iload 17 /* runStart */
            iload 3 /* asOff */
            iadd
            iload 20 /* i */
            iload 3 /* asOff */
            iadd
        81: .line 540
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        82: .line 542
            iconst_m1
            istore 17 /* runStart */
        83: .line 543
            aconst_null
            astore 19 /* prevF */
        84: .line 544
            aconst_null
            astore 18 /* prevFF */
        85: .line 546
            goto 104
        86: .line 547
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            iload 6 /* start */
            iload 20 /* i */
            iadd
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 21 /* c */
        start local 21 // char c
        87: .line 549
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getFontFamilyResolver:()Lorg/apache/batik/bridge/FontFamilyResolver;
            iload 21 /* c */
            invokeinterface org.apache.batik.bridge.FontFamilyResolver.getFamilyThatCanDisplay:(C)Lorg/apache/batik/gvt/font/GVTFontFamily;
            astore 22 /* fontFamily */
        start local 22 // org.apache.batik.gvt.font.GVTFontFamily fontFamily
        88: .line 552
            iload 17 /* runStart */
            iconst_m1
            if_icmpne 95
        89: .line 554
            iload 20 /* i */
            istore 17 /* runStart */
        90: .line 555
            aload 22 /* fontFamily */
            astore 18 /* prevFF */
        91: .line 556
            aload 18 /* prevFF */
            ifnonnull 93
        92: .line 557
            aload 13 /* defaultFont */
            astore 19 /* prevF */
            goto 104
        93: .line 559
      StackMap locals: int org.apache.batik.gvt.font.GVTFontFamily
      StackMap stack:
            aload 22 /* fontFamily */
            fload 10 /* fontSize */
            aload 1 /* aci */
            invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
            astore 19 /* prevF */
        94: .line 560
            goto 104
      StackMap locals:
      StackMap stack:
        95: aload 18 /* prevFF */
            aload 22 /* fontFamily */
            if_acmpeq 104
        96: .line 562
            aload 2 /* as */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 19 /* prevF */
        97: .line 563
            iload 17 /* runStart */
            iload 3 /* asOff */
            iadd
            iload 20 /* i */
            iload 3 /* asOff */
            iadd
        98: .line 562
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        99: .line 565
            iload 20 /* i */
            istore 17 /* runStart */
       100: .line 566
            aload 22 /* fontFamily */
            astore 18 /* prevFF */
       101: .line 567
            aload 18 /* prevFF */
            ifnonnull 103
       102: .line 568
            aload 13 /* defaultFont */
            astore 19 /* prevF */
            goto 104
       103: .line 570
      StackMap locals:
      StackMap stack:
            aload 22 /* fontFamily */
            fload 10 /* fontSize */
            aload 1 /* aci */
            invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
            astore 19 /* prevF */
        end local 22 // org.apache.batik.gvt.font.GVTFontFamily fontFamily
        end local 21 // char c
       104: .line 537
      StackMap locals:
      StackMap stack:
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
       105: iload 20 /* i */
            iload 8 /* aciLength */
            if_icmplt 77
        end local 20 // int i
       106: .line 574
            iload 17 /* runStart */
            iconst_m1
            if_icmpeq 110
       107: .line 575
            aload 2 /* as */
            getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 19 /* prevF */
       108: .line 576
            iload 17 /* runStart */
            iload 3 /* asOff */
            iadd
            iload 8 /* aciLength */
            iload 3 /* asOff */
            iadd
       109: .line 575
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
       110: .line 579
      StackMap locals:
      StackMap stack:
            iload 3 /* asOff */
            iload 8 /* aciLength */
            iadd
            istore 3 /* asOff */
       111: .line 580
            aload 1 /* aci */
            iload 7 /* end */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            ldc 65535
            if_icmpne 113
       112: .line 581
            iconst_0
            istore 5 /* moreChunks */
       113: .line 583
      StackMap locals:
      StackMap stack:
            iload 7 /* end */
            istore 6
        end local 19 // org.apache.batik.gvt.font.GVTFont prevF
        end local 18 // org.apache.batik.gvt.font.GVTFontFamily prevFF
        end local 17 // int runStart
        end local 15 // int firstUnset
        end local 14 // int numSet
        end local 13 // org.apache.batik.gvt.font.GVTFont defaultFont
        end local 12 // boolean[] fontAssigned
        end local 11 // java.lang.Float fsFloat
        end local 10 // float fontSize
        end local 9 // java.util.List fonts
        end local 8 // int aciLength
        end local 6 // int start
       114: .line 431
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int top int
      StackMap stack:
            iload 5 /* moreChunks */
            ifne 7
       115: .line 585
            aload 2 /* as */
            ifnull 117
       116: .line 586
            aload 2 /* as */
            invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
            areturn
       117: .line 589
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            areturn
        end local 7 // int end
        end local 5 // boolean moreChunks
        end local 4 // int begin
        end local 3 // int asOff
        end local 2 // java.text.AttributedString as
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  118     0              this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0  118     1               aci  Ljava/text/AttributedCharacterIterator;
            2  118     2                as  Ljava/text/AttributedString;
            3  118     3             asOff  I
            4  118     4             begin  I
            5  118     5        moreChunks  Z
            8  114     6             start  I
            6  118     7               end  I
           10  114     8         aciLength  I
           11  114     9             fonts  Ljava/util/List;
           12  114    10          fontSize  F
           13  114    11           fsFloat  Ljava/lang/Float;
           18  114    12      fontAssigned  [Z
           21  114    13       defaultFont  Lorg/apache/batik/gvt/font/GVTFont;
           22  114    14            numSet  I
           23  114    15        firstUnset  I
           27   71    16     firstUnsetSet  Z
           25   71    17             font1  Ljava/lang/Object;
           26   71    19      currentIndex  I
           29   71    20              font  Lorg/apache/batik/gvt/font/GVTFont;
           35   68    21  displayUpToIndex  I
           36   68    22   altGlyphElement  Ljava/lang/Object;
           47   68    23          runStart  I
           48   62    24                 j  I
           73  114    17          runStart  I
           74  114    18            prevFF  Lorg/apache/batik/gvt/font/GVTFontFamily;
           75  114    19             prevF  Lorg/apache/batik/gvt/font/GVTFont;
           76  106    20                 i  I
           87  104    21                 c  C
           88  104    22        fontFamily  Lorg/apache/batik/gvt/font/GVTFontFamily;
    MethodParameters:
      Name  Flags
      aci   

  protected org.apache.batik.bridge.FontFamilyResolver getFontFamilyResolver();
    descriptor: ()Lorg/apache/batik/bridge/FontFamilyResolver;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
         0: .line 593
            getstatic org.apache.batik.bridge.DefaultFontFamilyResolver.SINGLETON:Lorg/apache/batik/bridge/DefaultFontFamilyResolver;
            areturn
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/StrokingTextPainter;

  protected java.util.Set getTextRunBoundaryAttributes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
         0: .line 597
            getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
            areturn
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/StrokingTextPainter;

  protected org.apache.batik.bridge.StrokingTextPainter$TextChunk getTextChunk(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, int[], java.util.List, org.apache.batik.bridge.StrokingTextPainter$TextChunk);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[ILjava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=21, args_size=6
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.text.AttributedCharacterIterator aci
        start local 3 // int[] charMap
        start local 4 // java.util.List textRuns
        start local 5 // org.apache.batik.bridge.StrokingTextPainter$TextChunk prevChunk
         0: .line 605
            iconst_0
            istore 6 /* beginChunk */
        start local 6 // int beginChunk
         1: .line 606
            aload 5 /* prevChunk */
            ifnull 3
         2: .line 607
            aload 5 /* prevChunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.end:I
            istore 6 /* beginChunk */
         3: .line 608
      StackMap locals: int
      StackMap stack:
            iload 6 /* beginChunk */
            istore 7 /* endChunk */
        start local 7 // int endChunk
         4: .line 609
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getIndex:()I
            istore 8 /* begin */
        start local 8 // int begin
         5: .line 610
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.current:()C
            ldc 65535
            if_icmpne 7
         6: .line 611
            aconst_null
            areturn
         7: .line 615
      StackMap locals: int int
      StackMap stack:
            new java.awt.geom.Point2D$Float
            dup
            fconst_0
            fconst_0
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 9 /* offset */
        start local 9 // java.awt.geom.Point2D$Float offset
         8: .line 616
            new java.awt.geom.Point2D$Float
            dup
            fconst_0
            fconst_0
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 10 /* advance */
        start local 10 // java.awt.geom.Point2D$Float advance
         9: .line 617
            iconst_1
            istore 11 /* isChunkStart */
        start local 11 // boolean isChunkStart
        10: .line 618
            aconst_null
            astore 12 /* layout */
        start local 12 // org.apache.batik.bridge.TextSpanLayout layout
        11: .line 619
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRunBoundaryAttributes:()Ljava/util/Set;
            astore 13 /* textRunBoundaryAttributes */
        start local 13 // java.util.Set textRunBoundaryAttributes
        12: .line 621
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set
      StackMap stack:
            aload 2 /* aci */
            aload 13 /* textRunBoundaryAttributes */
            invokeinterface java.text.AttributedCharacterIterator.getRunStart:(Ljava/util/Set;)I
            istore 14 /* start */
        start local 14 // int start
        13: .line 622
            aload 2 /* aci */
            aload 13 /* textRunBoundaryAttributes */
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
            istore 15 /* end */
        start local 15 // int end
        14: .line 625
            new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
            dup
            aload 2 /* aci */
            iload 14 /* start */
            iload 15 /* end */
            invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
            astore 16 /* runaci */
        start local 16 // java.text.AttributedCharacterIterator runaci
        15: .line 627
            iload 15 /* end */
            iload 14 /* start */
            isub
            newarray 10
            astore 17 /* subCharMap */
        start local 17 // int[] subCharMap
        16: .line 628
            aload 3 /* charMap */
            ifnull 19
        17: .line 629
            aload 3 /* charMap */
            iload 14 /* start */
            iload 8 /* begin */
            isub
            aload 17 /* subCharMap */
            iconst_0
            aload 17 /* subCharMap */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 630
            goto 25
        19: .line 631
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set int int java.text.AttributedCharacterIterator int[]
      StackMap stack:
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        20: aload 17 /* subCharMap */
            arraylength
            istore 19 /* n */
        start local 19 // int n
        21: goto 24
        22: .line 632
      StackMap locals: int int
      StackMap stack:
            aload 17 /* subCharMap */
            iload 18 /* i */
            iload 18 /* i */
            iastore
        23: .line 631
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 18 /* i */
            iload 19 /* n */
            if_icmplt 22
        end local 19 // int n
        end local 18 // int i
        25: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.StrokingTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
            astore 18 /* frc */
        start local 18 // java.awt.font.FontRenderContext frc
        26: .line 637
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getRenderingHints:()Ljava/awt/RenderingHints;
            astore 19 /* rh */
        start local 19 // java.awt.RenderingHints rh
        27: .line 640
            aload 19 /* rh */
            ifnull 32
        28: .line 641
            aload 19 /* rh */
            getstatic java.awt.RenderingHints.KEY_TEXT_ANTIALIASING:Ljava/awt/RenderingHints$Key;
            invokevirtual java.awt.RenderingHints.get:(Ljava/lang/Object;)Ljava/lang/Object;
        29: .line 642
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_OFF:Ljava/lang/Object;
        30: .line 641
            if_acmpne 32
        31: .line 645
            aload 0 /* this */
            getfield org.apache.batik.bridge.StrokingTextPainter.aaOffFontRenderContext:Ljava/awt/font/FontRenderContext;
            astore 18 /* frc */
        32: .line 648
      StackMap locals: java.awt.font.FontRenderContext java.awt.RenderingHints
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextLayoutFactory:()Lorg/apache/batik/bridge/TextLayoutFactory;
        33: .line 649
            aload 16 /* runaci */
            aload 17 /* subCharMap */
            aload 9 /* offset */
            aload 18 /* frc */
        34: .line 648
            invokeinterface org.apache.batik.bridge.TextLayoutFactory.createTextLayout:(Ljava/text/AttributedCharacterIterator;[ILjava/awt/geom/Point2D;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/bridge/TextSpanLayout;
            astore 12 /* layout */
        35: .line 651
            aload 4 /* textRuns */
            new org.apache.batik.bridge.StrokingTextPainter$TextRun
            dup
            aload 12 /* layout */
            aload 16 /* runaci */
            iload 11 /* isChunkStart */
            invokespecial org.apache.batik.bridge.StrokingTextPainter$TextRun.<init>:(Lorg/apache/batik/bridge/TextSpanLayout;Ljava/text/AttributedCharacterIterator;Z)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 653
            aload 12 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
            astore 20 /* layoutAdvance */
        start local 20 // java.awt.geom.Point2D layoutAdvance
        37: .line 654
            aload 10 /* advance */
            dup
            getfield java.awt.geom.Point2D$Float.x:F
            aload 20 /* layoutAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
        38: .line 655
            aload 10 /* advance */
            dup
            getfield java.awt.geom.Point2D$Float.y:F
            aload 20 /* layoutAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
        39: .line 657
            iinc 7 /* endChunk */ 1
        40: .line 658
            aload 2 /* aci */
            iload 15 /* end */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            ldc 65535
            if_icmpne 41
            goto 43
        41: .line 659
      StackMap locals: java.awt.geom.Point2D
      StackMap stack:
            iconst_0
            istore 11 /* isChunkStart */
        end local 20 // java.awt.geom.Point2D layoutAdvance
        end local 19 // java.awt.RenderingHints rh
        end local 18 // java.awt.font.FontRenderContext frc
        end local 17 // int[] subCharMap
        end local 16 // java.text.AttributedCharacterIterator runaci
        end local 15 // int end
        end local 14 // int start
        42: .line 660
            goto 12
        43: .line 662
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set
      StackMap stack:
            new org.apache.batik.bridge.StrokingTextPainter$TextChunk
            dup
            iload 6 /* beginChunk */
            iload 7 /* endChunk */
            aload 10 /* advance */
            invokespecial org.apache.batik.bridge.StrokingTextPainter$TextChunk.<init>:(IILjava/awt/geom/Point2D;)V
            areturn
        end local 13 // java.util.Set textRunBoundaryAttributes
        end local 12 // org.apache.batik.bridge.TextSpanLayout layout
        end local 11 // boolean isChunkStart
        end local 10 // java.awt.geom.Point2D$Float advance
        end local 9 // java.awt.geom.Point2D$Float offset
        end local 8 // int begin
        end local 7 // int endChunk
        end local 6 // int beginChunk
        end local 5 // org.apache.batik.bridge.StrokingTextPainter$TextChunk prevChunk
        end local 4 // java.util.List textRuns
        end local 3 // int[] charMap
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   44     0                       this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   44     1                       node  Lorg/apache/batik/bridge/TextNode;
            0   44     2                        aci  Ljava/text/AttributedCharacterIterator;
            0   44     3                    charMap  [I
            0   44     4                   textRuns  Ljava/util/List;
            0   44     5                  prevChunk  Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
            1   44     6                 beginChunk  I
            4   44     7                   endChunk  I
            5   44     8                      begin  I
            8   44     9                     offset  Ljava/awt/geom/Point2D$Float;
            9   44    10                    advance  Ljava/awt/geom/Point2D$Float;
           10   44    11               isChunkStart  Z
           11   44    12                     layout  Lorg/apache/batik/bridge/TextSpanLayout;
           12   44    13  textRunBoundaryAttributes  Ljava/util/Set;
           13   42    14                      start  I
           14   42    15                        end  I
           15   42    16                     runaci  Ljava/text/AttributedCharacterIterator;
           16   42    17                 subCharMap  [I
           20   25    18                          i  I
           21   25    19                          n  I
           26   42    18                        frc  Ljava/awt/font/FontRenderContext;
           27   42    19                         rh  Ljava/awt/RenderingHints;
           37   42    20              layoutAdvance  Ljava/awt/geom/Point2D;
    MethodParameters:
           Name  Flags
      node       
      aci        
      charMap    
      textRuns   
      prevChunk  

  protected java.awt.geom.Point2D adjustChunkOffsets(java.awt.geom.Point2D, java.util.List, org.apache.batik.bridge.StrokingTextPainter$TextChunk);
    descriptor: (Ljava/awt/geom/Point2D;Ljava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Ljava/awt/geom/Point2D;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=34, args_size=4
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.awt.geom.Point2D location
        start local 2 // java.util.List textRuns
        start local 3 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
         0: .line 674
            aload 3 /* chunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.end:I
            aload 3 /* chunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.begin:I
            isub
            istore 4 /* numRuns */
        start local 4 // int numRuns
         1: .line 675
            aload 2 /* textRuns */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
        start local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun r
         2: .line 676
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getAnchorType:()I
            istore 6 /* anchorType */
        start local 6 // int anchorType
         3: .line 677
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLength:()Ljava/lang/Float;
            astore 7 /* length */
        start local 7 // java.lang.Float length
         4: .line 678
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLengthAdjust:()Ljava/lang/Integer;
            astore 8 /* lengthAdj */
        start local 8 // java.lang.Integer lengthAdj
         5: .line 680
            iconst_1
            istore 9 /* doAdjust */
        start local 9 // boolean doAdjust
         6: .line 681
            aload 7 /* length */
            ifnull 7
            aload 7 /* length */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 8
         7: .line 682
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int
      StackMap stack:
            iconst_0
            istore 9 /* doAdjust */
         8: .line 684
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* numChars */
        start local 10 // int numChars
         9: .line 685
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        10: goto 15
        11: .line 686
      StackMap locals: int int
      StackMap stack:
            aload 2 /* textRuns */
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
        12: .line 687
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 12 /* aci */
        start local 12 // java.text.AttributedCharacterIterator aci
        13: .line 688
            iload 10 /* numChars */
            aload 12 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            aload 12 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            isub
            iadd
            istore 10 /* numChars */
        end local 12 // java.text.AttributedCharacterIterator aci
        14: .line 685
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 11 /* i */
            iload 4 /* numRuns */
            if_icmplt 11
        end local 11 // int i
        16: .line 690
            aload 8 /* lengthAdj */
        17: .line 691
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_SPACING:Ljava/lang/Integer;
        18: .line 690
            if_acmpne 21
        19: .line 692
            iload 10 /* numChars */
            iconst_1
            if_icmpne 21
        20: .line 693
            iconst_0
            istore 9 /* doAdjust */
        21: .line 695
      StackMap locals:
      StackMap stack:
            fconst_1
            fstore 11 /* xScale */
        start local 11 // float xScale
        22: .line 696
            fconst_1
            fstore 12 /* yScale */
        start local 12 // float yScale
        23: .line 698
            aload 2 /* textRuns */
            iload 4 /* numRuns */
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
        24: .line 699
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 13 /* layout */
        start local 13 // org.apache.batik.bridge.TextSpanLayout layout
        25: .line 701
            aload 13 /* layout */
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphCount:()I
            iconst_1
            isub
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
        26: .line 700
            astore 14 /* lastMetrics */
        start local 14 // org.apache.batik.gvt.font.GVTGlyphMetrics lastMetrics
        27: .line 702
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getLineMetrics:()Lorg/apache/batik/gvt/font/GVTLineMetrics;
            astore 15 /* lastLineMetrics */
        start local 15 // org.apache.batik.gvt.font.GVTLineMetrics lastLineMetrics
        28: .line 703
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 16 /* lastBounds */
        start local 16 // java.awt.geom.Rectangle2D lastBounds
        29: .line 704
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
        30: .line 705
            aload 15 /* lastLineMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
        31: .line 706
            aload 15 /* lastLineMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
        32: .line 705
            fadd
        33: .line 704
            fsub
        34: .line 706
            fconst_2
        35: .line 704
            fdiv
            fstore 17 /* halfLeading */
        start local 17 // float halfLeading
        36: .line 707
            aload 16 /* lastBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            aload 16 /* lastBounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            dadd
            d2f
            fstore 18 /* lastW */
        start local 18 // float lastW
        37: .line 708
            fload 17 /* halfLeading */
            aload 15 /* lastLineMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            fadd
            f2d
        38: .line 709
            aload 16 /* lastBounds */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            aload 16 /* lastBounds */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            dadd
        39: .line 708
            dadd
            d2f
            fstore 19 /* lastH */
        start local 19 // float lastH
        40: .line 712
            iload 9 /* doAdjust */
            ifne 46
        41: .line 713
            new java.awt.geom.Point2D$Float
            dup
        42: .line 714
            aload 3 /* chunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
        43: .line 715
            aload 3 /* chunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 19 /* lastH */
            f2d
            dadd
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            f2d
            dsub
            d2f
        44: .line 713
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 20 /* visualAdvance */
        start local 20 // java.awt.geom.Point2D visualAdvance
        45: .line 716
            goto 85
        end local 20 // java.awt.geom.Point2D visualAdvance
        46: .line 717
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float
      StackMap stack:
            aload 3 /* chunk */
            getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
            astore 21 /* advance */
        start local 21 // java.awt.geom.Point2D advance
        47: .line 722
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
            ifeq 60
        48: .line 723
            aload 8 /* lengthAdj */
            getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
            if_acmpne 54
        49: .line 725
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            fload 19 /* lastH */
            fsub
            f2d
        50: .line 726
            aload 21 /* advance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            f2d
            dsub
        51: .line 725
            ddiv
            d2f
        52: .line 724
            fstore 12 /* yScale */
        53: .line 727
            goto 58
        54: .line 728
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float top java.awt.geom.Point2D
      StackMap stack:
            aload 21 /* advance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 19 /* lastH */
            f2d
            dadd
        55: .line 729
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            f2d
        56: .line 728
            dsub
            dstore 22 /* adv */
        start local 22 // double adv
        57: .line 730
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            dload 22 /* adv */
            ddiv
            d2f
            fstore 12 /* yScale */
        end local 22 // double adv
        58: .line 732
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Float
            dup
            fconst_0
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 20 /* visualAdvance */
        start local 20 // java.awt.geom.Point2D visualAdvance
        59: .line 733
            goto 71
        end local 20 // java.awt.geom.Point2D visualAdvance
        60: .line 734
      StackMap locals:
      StackMap stack:
            aload 8 /* lengthAdj */
            getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
            if_acmpne 66
        61: .line 736
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            fload 18 /* lastW */
            fsub
            f2d
        62: .line 737
            aload 21 /* advance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            f2d
            dsub
        63: .line 736
            ddiv
            d2f
        64: .line 735
            fstore 11 /* xScale */
        65: .line 738
            goto 70
        66: .line 739
      StackMap locals:
      StackMap stack:
            aload 21 /* advance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 18 /* lastW */
            f2d
            dadd
        67: .line 740
            aload 14 /* lastMetrics */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            f2d
        68: .line 739
            dsub
            dstore 22 /* adv */
        start local 22 // double adv
        69: .line 741
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            dload 22 /* adv */
            ddiv
            d2f
            fstore 11 /* xScale */
        end local 22 // double adv
        70: .line 743
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Float
            dup
            aload 7 /* length */
            invokevirtual java.lang.Float.floatValue:()F
            fconst_0
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 20 /* visualAdvance */
        start local 20 // java.awt.geom.Point2D visualAdvance
        71: .line 746
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D
      StackMap stack:
            new java.awt.geom.Point2D$Float
            dup
            fconst_0
            fconst_0
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 22 /* adv */
        start local 22 // java.awt.geom.Point2D$Float adv
        72: .line 747
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        73: goto 83
        74: .line 748
      StackMap locals: java.awt.geom.Point2D$Float int
      StackMap stack:
            aload 2 /* textRuns */
            iload 23 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
        75: .line 749
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 13 /* layout */
        76: .line 750
            aload 13 /* layout */
            fload 11 /* xScale */
            fload 12 /* yScale */
            aload 8 /* lengthAdj */
            getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
            if_acmpne 77
            iconst_1
            goto 78
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D java.awt.geom.Point2D$Float int
      StackMap stack: org.apache.batik.bridge.TextSpanLayout float float
        77: iconst_0
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D java.awt.geom.Point2D$Float int
      StackMap stack: org.apache.batik.bridge.TextSpanLayout float float int
        78: invokeinterface org.apache.batik.bridge.TextSpanLayout.setScale:(FFZ)V
        79: .line 751
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
            astore 24 /* lAdv */
        start local 24 // java.awt.geom.Point2D lAdv
        80: .line 752
            aload 22 /* adv */
            dup
            getfield java.awt.geom.Point2D$Float.x:F
            aload 24 /* lAdv */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
        81: .line 753
            aload 22 /* adv */
            dup
            getfield java.awt.geom.Point2D$Float.y:F
            aload 24 /* lAdv */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
        end local 24 // java.awt.geom.Point2D lAdv
        82: .line 747
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 23 /* i */
            iload 4 /* numRuns */
            if_icmplt 74
        end local 23 // int i
        84: .line 755
            aload 3 /* chunk */
            aload 22 /* adv */
            putfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
        end local 22 // java.awt.geom.Point2D$Float adv
        end local 21 // java.awt.geom.Point2D advance
        85: .line 758
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 21 /* dx */
        start local 21 // float dx
        86: .line 759
            fconst_0
            fstore 22 /* dy */
        start local 22 // float dy
        87: .line 760
            iload 6 /* anchorType */
            tableswitch { // 1 - 2
                    1: 88
                    2: 91
              default: 94
          }
        88: .line 762
      StackMap locals: float float
      StackMap stack:
            aload 20 /* visualAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dneg
            ldc 2.0
            ddiv
            d2f
            fstore 21 /* dx */
        89: .line 763
            aload 20 /* visualAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dneg
            ldc 2.0
            ddiv
            d2f
            fstore 22 /* dy */
        90: .line 764
            goto 94
        91: .line 766
      StackMap locals:
      StackMap stack:
            aload 20 /* visualAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dneg
            d2f
            fstore 21 /* dx */
        92: .line 767
            aload 20 /* visualAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dneg
            d2f
            fstore 22 /* dy */
        93: .line 768
            goto 94
        94: .line 773
      StackMap locals:
      StackMap stack:
            aload 2 /* textRuns */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
        95: .line 774
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 13 /* layout */
        96: .line 775
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 23 /* runaci */
        start local 23 // java.text.AttributedCharacterIterator runaci
        97: .line 776
            aload 23 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        98: .line 777
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
            istore 24 /* vertical */
        start local 24 // boolean vertical
        99: .line 778
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 25 /* runX */
        start local 25 // java.lang.Float runX
       100: .line 779
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 26 /* runY */
        start local 26 // java.lang.Float runY
       101: .line 780
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPath
            astore 27 /* textPath */
        start local 27 // org.apache.batik.gvt.text.TextPath textPath
       102: .line 784
            aload 1 /* location */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 28 /* absX */
        start local 28 // float absX
       103: .line 785
            aload 1 /* location */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 29 /* absY */
        start local 29 // float absY
       104: .line 787
            fconst_0
            fstore 30 /* tpShiftX */
        start local 30 // float tpShiftX
       105: .line 788
            fconst_0
            fstore 31 /* tpShiftY */
        start local 31 // float tpShiftY
       106: .line 792
            aload 25 /* runX */
            ifnull 109
            aload 25 /* runX */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 109
       107: .line 793
            aload 25 /* runX */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 28 /* absX */
       108: .line 794
            fload 28 /* absX */
            fstore 30 /* tpShiftX */
       109: .line 797
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D float float java.text.AttributedCharacterIterator int java.lang.Float java.lang.Float org.apache.batik.gvt.text.TextPath float float float float
      StackMap stack:
            aload 26 /* runY */
            ifnull 112
            aload 26 /* runY */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 112
       110: .line 798
            aload 26 /* runY */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 29 /* absY */
       111: .line 799
            fload 29 /* absY */
            fstore 31 /* tpShiftY */
       112: .line 804
      StackMap locals:
      StackMap stack:
            iload 24 /* vertical */
            ifeq 117
       113: .line 805
            fload 29 /* absY */
            fload 22 /* dy */
            fadd
            fstore 29 /* absY */
       114: .line 806
            fload 31 /* tpShiftY */
            fload 22 /* dy */
            fadd
            fstore 31 /* tpShiftY */
       115: .line 807
            fconst_0
            fstore 30 /* tpShiftX */
       116: .line 808
            goto 120
       117: .line 809
      StackMap locals:
      StackMap stack:
            fload 28 /* absX */
            fload 21 /* dx */
            fadd
            fstore 28 /* absX */
       118: .line 810
            fload 30 /* tpShiftX */
            fload 21 /* dx */
            fadd
            fstore 30 /* tpShiftX */
       119: .line 811
            fconst_0
            fstore 31 /* tpShiftY */
       120: .line 814
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 32 /* i */
        start local 32 // int i
       121: goto 149
       122: .line 815
      StackMap locals: int
      StackMap stack:
            aload 2 /* textRuns */
            iload 32 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* r */
       123: .line 816
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 13 /* layout */
       124: .line 817
            aload 5 /* r */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 23 /* runaci */
       125: .line 818
            aload 23 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
       126: .line 819
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPath
            astore 27 /* textPath */
       127: .line 820
            iload 24 /* vertical */
            ifeq 132
       128: .line 821
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 25 /* runX */
       129: .line 822
            aload 25 /* runX */
            ifnull 135
            aload 25 /* runX */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 135
       130: .line 823
            aload 25 /* runX */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 28 /* absX */
       131: .line 825
            goto 135
       132: .line 826
      StackMap locals:
      StackMap stack:
            aload 23 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 26 /* runY */
       133: .line 827
            aload 26 /* runY */
            ifnull 135
            aload 26 /* runY */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 135
       134: .line 828
            aload 26 /* runY */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 29 /* absY */
       135: .line 832
      StackMap locals:
      StackMap stack:
            aload 27 /* textPath */
            ifnonnull 141
       136: .line 833
            aload 13 /* layout */
            new java.awt.geom.Point2D$Float
            dup
            fload 28 /* absX */
            fload 29 /* absY */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            invokeinterface org.apache.batik.bridge.TextSpanLayout.setOffset:(Ljava/awt/geom/Point2D;)V
       137: .line 835
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
            astore 33 /* ladv */
        start local 33 // java.awt.geom.Point2D ladv
       138: .line 836
            fload 28 /* absX */
            f2d
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dadd
            d2f
            fstore 28 /* absX */
       139: .line 837
            fload 29 /* absY */
            f2d
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dadd
            d2f
            fstore 29 /* absY */
        end local 33 // java.awt.geom.Point2D ladv
       140: .line 838
            goto 148
       141: .line 839
      StackMap locals:
      StackMap stack:
            aload 13 /* layout */
            new java.awt.geom.Point2D$Float
            dup
            fload 30 /* tpShiftX */
            fload 31 /* tpShiftY */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            invokeinterface org.apache.batik.bridge.TextSpanLayout.setOffset:(Ljava/awt/geom/Point2D;)V
       142: .line 841
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
            astore 33 /* ladv */
        start local 33 // java.awt.geom.Point2D ladv
       143: .line 842
            fload 30 /* tpShiftX */
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fadd
            fstore 30 /* tpShiftX */
       144: .line 843
            fload 31 /* tpShiftY */
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fadd
            fstore 31 /* tpShiftY */
       145: .line 845
            aload 13 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getTextPathAdvance:()Ljava/awt/geom/Point2D;
            astore 33 /* ladv */
       146: .line 846
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 28 /* absX */
       147: .line 847
            aload 33 /* ladv */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 29 /* absY */
        end local 33 // java.awt.geom.Point2D ladv
       148: .line 814
      StackMap locals:
      StackMap stack:
            iinc 32 /* i */ 1
      StackMap locals:
      StackMap stack:
       149: iload 32 /* i */
            iload 4 /* numRuns */
            if_icmplt 122
        end local 32 // int i
       150: .line 850
            new java.awt.geom.Point2D$Float
            dup
            fload 28 /* absX */
            fload 29 /* absY */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            areturn
        end local 31 // float tpShiftY
        end local 30 // float tpShiftX
        end local 29 // float absY
        end local 28 // float absX
        end local 27 // org.apache.batik.gvt.text.TextPath textPath
        end local 26 // java.lang.Float runY
        end local 25 // java.lang.Float runX
        end local 24 // boolean vertical
        end local 23 // java.text.AttributedCharacterIterator runaci
        end local 22 // float dy
        end local 21 // float dx
        end local 20 // java.awt.geom.Point2D visualAdvance
        end local 19 // float lastH
        end local 18 // float lastW
        end local 17 // float halfLeading
        end local 16 // java.awt.geom.Rectangle2D lastBounds
        end local 15 // org.apache.batik.gvt.font.GVTLineMetrics lastLineMetrics
        end local 14 // org.apache.batik.gvt.font.GVTGlyphMetrics lastMetrics
        end local 13 // org.apache.batik.bridge.TextSpanLayout layout
        end local 12 // float yScale
        end local 11 // float xScale
        end local 10 // int numChars
        end local 9 // boolean doAdjust
        end local 8 // java.lang.Integer lengthAdj
        end local 7 // java.lang.Float length
        end local 6 // int anchorType
        end local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun r
        end local 4 // int numRuns
        end local 3 // org.apache.batik.bridge.StrokingTextPainter$TextChunk chunk
        end local 2 // java.util.List textRuns
        end local 1 // java.awt.geom.Point2D location
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  151     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0  151     1         location  Ljava/awt/geom/Point2D;
            0  151     2         textRuns  Ljava/util/List;
            0  151     3            chunk  Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
            1  151     4          numRuns  I
            2  151     5                r  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            3  151     6       anchorType  I
            4  151     7           length  Ljava/lang/Float;
            5  151     8        lengthAdj  Ljava/lang/Integer;
            6  151     9         doAdjust  Z
            9  151    10         numChars  I
           10   16    11                i  I
           13   14    12              aci  Ljava/text/AttributedCharacterIterator;
           22  151    11           xScale  F
           23  151    12           yScale  F
           25  151    13           layout  Lorg/apache/batik/bridge/TextSpanLayout;
           27  151    14      lastMetrics  Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
           28  151    15  lastLineMetrics  Lorg/apache/batik/gvt/font/GVTLineMetrics;
           29  151    16       lastBounds  Ljava/awt/geom/Rectangle2D;
           36  151    17      halfLeading  F
           37  151    18            lastW  F
           40  151    19            lastH  F
           45   46    20    visualAdvance  Ljava/awt/geom/Point2D;
           59   60    20    visualAdvance  Ljava/awt/geom/Point2D;
           71  151    20    visualAdvance  Ljava/awt/geom/Point2D;
           47   85    21          advance  Ljava/awt/geom/Point2D;
           57   58    22              adv  D
           69   70    22              adv  D
           72   85    22              adv  Ljava/awt/geom/Point2D$Float;
           73   84    23                i  I
           80   82    24             lAdv  Ljava/awt/geom/Point2D;
           86  151    21               dx  F
           87  151    22               dy  F
           97  151    23           runaci  Ljava/text/AttributedCharacterIterator;
           99  151    24         vertical  Z
          100  151    25             runX  Ljava/lang/Float;
          101  151    26             runY  Ljava/lang/Float;
          102  151    27         textPath  Lorg/apache/batik/gvt/text/TextPath;
          103  151    28             absX  F
          104  151    29             absY  F
          105  151    30         tpShiftX  F
          106  151    31         tpShiftY  F
          121  150    32                i  I
          138  140    33             ladv  Ljava/awt/geom/Point2D;
          143  148    33             ladv  Ljava/awt/geom/Point2D;
    MethodParameters:
          Name  Flags
      location  
      textRuns  
      chunk     

  protected void paintDecorations(java.util.List, java.awt.Graphics2D, int);
    descriptor: (Ljava/util/List;Ljava/awt/Graphics2D;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=28, args_size=4
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.util.List textRuns
        start local 2 // java.awt.Graphics2D g2d
        start local 3 // int decorationType
         0: .line 859
            aconst_null
            astore 4 /* prevPaint */
        start local 4 // java.awt.Paint prevPaint
         1: .line 860
            aconst_null
            astore 5 /* prevStrokePaint */
        start local 5 // java.awt.Paint prevStrokePaint
         2: .line 861
            aconst_null
            astore 6 /* prevStroke */
        start local 6 // java.awt.Stroke prevStroke
         3: .line 862
            iconst_1
            istore 7 /* prevVisible */
        start local 7 // boolean prevVisible
         4: .line 863
            aconst_null
            astore 8 /* decorationRect */
        start local 8 // java.awt.geom.Rectangle2D decorationRect
         5: .line 864
            dconst_0
            dstore 9 /* yLoc */
        start local 9 // double yLoc
         6: dconst_0
            dstore 11 /* height */
        start local 11 // double height
         7: .line 866
            aload 1 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 79
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
         8: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 13 /* textRun1 */
        start local 13 // java.lang.Object textRun1
         9: .line 867
            aload 13 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 15 /* textRun */
        start local 15 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        10: .line 868
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 16 /* runaci */
        start local 16 // java.text.AttributedCharacterIterator runaci
        11: .line 869
            aload 16 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        12: .line 871
            aconst_null
            astore 17 /* paint */
        start local 17 // java.awt.Paint paint
        13: .line 872
            aconst_null
            astore 18 /* stroke */
        start local 18 // java.awt.Stroke stroke
        14: .line 873
            aconst_null
            astore 19 /* strokePaint */
        start local 19 // java.awt.Paint strokePaint
        15: .line 874
            iconst_1
            istore 20 /* visible */
        start local 20 // boolean visible
        16: .line 875
            aload 16 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 21 /* tpi */
        start local 21 // org.apache.batik.gvt.text.TextPaintInfo tpi
        17: .line 876
            aload 21 /* tpi */
            ifnull 35
        18: .line 877
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.visible:Z
            istore 20 /* visible */
        19: .line 878
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
            ifnull 21
        20: .line 879
            aload 2 /* g2d */
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
            invokevirtual java.awt.Graphics2D.setComposite:(Ljava/awt/Composite;)V
        21: .line 881
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint int org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            iload 3 /* decorationType */
            tableswitch { // 1 - 4
                    1: 22
                    2: 30
                    3: 34
                    4: 26
              default: 34
          }
        22: .line 883
      StackMap locals:
      StackMap stack:
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
            astore 17 /* paint */
        23: .line 884
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
            astore 18 /* stroke */
        24: .line 885
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
            astore 19 /* strokePaint */
        25: .line 886
            goto 35
        26: .line 888
      StackMap locals:
      StackMap stack:
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
            astore 17 /* paint */
        27: .line 889
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
            astore 18 /* stroke */
        28: .line 890
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
            astore 19 /* strokePaint */
        29: .line 891
            goto 35
        30: .line 893
      StackMap locals:
      StackMap stack:
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
            astore 17 /* paint */
        31: .line 894
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
            astore 18 /* stroke */
        32: .line 895
            aload 21 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
            astore 19 /* strokePaint */
        33: .line 896
            goto 35
        34: .line 898
      StackMap locals:
      StackMap stack:
            return
        35: .line 902
      StackMap locals:
      StackMap stack:
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifeq 42
        36: .line 903
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
        37: .line 904
            iload 3 /* decorationType */
        38: .line 903
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
            astore 22 /* s */
        start local 22 // java.awt.Shape s
        39: .line 905
            aload 22 /* s */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 23 /* r2d */
        start local 23 // java.awt.geom.Rectangle2D r2d
        40: .line 906
            aload 23 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            dstore 9 /* yLoc */
        41: .line 907
            aload 23 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            dstore 11 /* height */
        end local 23 // java.awt.geom.Rectangle2D r2d
        end local 22 // java.awt.Shape s
        42: .line 910
      StackMap locals:
      StackMap stack:
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifne 47
        43: .line 911
            aload 17 /* paint */
            aload 4 /* prevPaint */
            if_acmpne 47
        44: .line 912
            aload 18 /* stroke */
            aload 6 /* prevStroke */
            if_acmpne 47
        45: .line 913
            aload 19 /* strokePaint */
            aload 5 /* prevStrokePaint */
            if_acmpne 47
        46: .line 914
            iload 20 /* visible */
            iload 7 /* prevVisible */
            if_icmpeq 56
        47: .line 916
      StackMap locals:
      StackMap stack:
            iload 7 /* prevVisible */
            ifeq 55
            aload 8 /* decorationRect */
            ifnull 55
        48: .line 917
            aload 4 /* prevPaint */
            ifnull 51
        49: .line 919
            aload 2 /* g2d */
            aload 4 /* prevPaint */
            invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
        50: .line 920
            aload 2 /* g2d */
            aload 8 /* decorationRect */
            invokevirtual java.awt.Graphics2D.fill:(Ljava/awt/Shape;)V
        51: .line 922
      StackMap locals:
      StackMap stack:
            aload 6 /* prevStroke */
            ifnull 55
            aload 5 /* prevStrokePaint */
            ifnull 55
        52: .line 924
            aload 2 /* g2d */
            aload 5 /* prevStrokePaint */
            invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
        53: .line 925
            aload 2 /* g2d */
            aload 6 /* prevStroke */
            invokevirtual java.awt.Graphics2D.setStroke:(Ljava/awt/Stroke;)V
        54: .line 926
            aload 2 /* g2d */
            aload 8 /* decorationRect */
            invokevirtual java.awt.Graphics2D.draw:(Ljava/awt/Shape;)V
        55: .line 929
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* decorationRect */
        56: .line 932
      StackMap locals:
      StackMap stack:
            aload 17 /* paint */
            ifnonnull 57
            aload 19 /* strokePaint */
            ifnull 75
        57: .line 933
      StackMap locals:
      StackMap stack:
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
            ifne 75
        58: .line 934
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
            ifne 75
        59: .line 942
            aload 15 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            iload 3 /* decorationType */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
        60: .line 941
            astore 22 /* decorationShape */
        start local 22 // java.awt.Shape decorationShape
        61: .line 943
            aload 8 /* decorationRect */
            ifnonnull 67
        62: .line 945
            aload 22 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 23 /* r2d */
        start local 23 // java.awt.geom.Rectangle2D r2d
        63: .line 946
            new java.awt.geom.Rectangle2D$Double
            dup
        64: .line 947
            aload 23 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            dload 9 /* yLoc */
            aload 23 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            dload 11 /* height */
        65: .line 946
            invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
            astore 8 /* decorationRect */
        end local 23 // java.awt.geom.Rectangle2D r2d
        66: .line 948
            goto 75
        67: .line 950
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 22 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 23 /* bounds */
        start local 23 // java.awt.geom.Rectangle2D bounds
        68: .line 951
            aload 8 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        69: .line 952
            aload 23 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        70: .line 951
            invokestatic java.lang.Math.min:(DD)D
            dstore 24 /* minX */
        start local 24 // double minX
        71: .line 953
            aload 8 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        72: .line 954
            aload 23 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        73: .line 953
            invokestatic java.lang.Math.max:(DD)D
            dstore 26 /* maxX */
        start local 26 // double maxX
        74: .line 955
            aload 8 /* decorationRect */
            dload 24 /* minX */
            dload 9 /* yLoc */
            dload 26 /* maxX */
            dload 24 /* minX */
            dsub
            dload 11 /* height */
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        end local 26 // double maxX
        end local 24 // double minX
        end local 23 // java.awt.geom.Rectangle2D bounds
        end local 22 // java.awt.Shape decorationShape
        75: .line 958
      StackMap locals:
      StackMap stack:
            aload 17 /* paint */
            astore 4 /* prevPaint */
        76: .line 959
            aload 18 /* stroke */
            astore 6 /* prevStroke */
        77: .line 960
            aload 19 /* strokePaint */
            astore 5 /* prevStrokePaint */
        78: .line 961
            iload 20 /* visible */
            istore 7 /* prevVisible */
        end local 21 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 20 // boolean visible
        end local 19 // java.awt.Paint strokePaint
        end local 18 // java.awt.Stroke stroke
        end local 17 // java.awt.Paint paint
        end local 16 // java.text.AttributedCharacterIterator runaci
        end local 15 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 13 // java.lang.Object textRun1
        79: .line 866
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        80: .line 966
            iload 7 /* prevVisible */
            ifeq 88
            aload 8 /* decorationRect */
            ifnull 88
        81: .line 967
            aload 4 /* prevPaint */
            ifnull 84
        82: .line 969
            aload 2 /* g2d */
            aload 4 /* prevPaint */
            invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
        83: .line 970
            aload 2 /* g2d */
            aload 8 /* decorationRect */
            invokevirtual java.awt.Graphics2D.fill:(Ljava/awt/Shape;)V
        84: .line 972
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double
      StackMap stack:
            aload 6 /* prevStroke */
            ifnull 88
            aload 5 /* prevStrokePaint */
            ifnull 88
        85: .line 974
            aload 2 /* g2d */
            aload 5 /* prevStrokePaint */
            invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
        86: .line 975
            aload 2 /* g2d */
            aload 6 /* prevStroke */
            invokevirtual java.awt.Graphics2D.setStroke:(Ljava/awt/Stroke;)V
        87: .line 976
            aload 2 /* g2d */
            aload 8 /* decorationRect */
            invokevirtual java.awt.Graphics2D.draw:(Ljava/awt/Shape;)V
        88: .line 979
      StackMap locals:
      StackMap stack:
            return
        end local 11 // double height
        end local 9 // double yLoc
        end local 8 // java.awt.geom.Rectangle2D decorationRect
        end local 7 // boolean prevVisible
        end local 6 // java.awt.Stroke prevStroke
        end local 5 // java.awt.Paint prevStrokePaint
        end local 4 // java.awt.Paint prevPaint
        end local 3 // int decorationType
        end local 2 // java.awt.Graphics2D g2d
        end local 1 // java.util.List textRuns
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   89     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   89     1         textRuns  Ljava/util/List;
            0   89     2              g2d  Ljava/awt/Graphics2D;
            0   89     3   decorationType  I
            1   89     4        prevPaint  Ljava/awt/Paint;
            2   89     5  prevStrokePaint  Ljava/awt/Paint;
            3   89     6       prevStroke  Ljava/awt/Stroke;
            4   89     7      prevVisible  Z
            5   89     8   decorationRect  Ljava/awt/geom/Rectangle2D;
            6   89     9             yLoc  D
            7   89    11           height  D
            9   79    13         textRun1  Ljava/lang/Object;
           10   79    15          textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           11   79    16           runaci  Ljava/text/AttributedCharacterIterator;
           13   79    17            paint  Ljava/awt/Paint;
           14   79    18           stroke  Ljava/awt/Stroke;
           15   79    19      strokePaint  Ljava/awt/Paint;
           16   79    20          visible  Z
           17   79    21              tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           39   42    22                s  Ljava/awt/Shape;
           40   42    23              r2d  Ljava/awt/geom/Rectangle2D;
           61   75    22  decorationShape  Ljava/awt/Shape;
           63   66    23              r2d  Ljava/awt/geom/Rectangle2D;
           68   75    23           bounds  Ljava/awt/geom/Rectangle2D;
           71   75    24             minX  D
           74   75    26             maxX  D
    MethodParameters:
                Name  Flags
      textRuns        
      g2d             
      decorationType  

  protected void paintTextRuns(java.util.List, java.awt.Graphics2D);
    descriptor: (Ljava/util/List;Ljava/awt/Graphics2D;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.util.List textRuns
        start local 2 // java.awt.Graphics2D g2d
         0: .line 987
            aload 1 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* textRun1 */
        start local 3 // java.lang.Object textRun1
         2: .line 988
            aload 3 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 5 /* textRun */
        start local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
         3: .line 989
            aload 5 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 6 /* runaci */
        start local 6 // java.text.AttributedCharacterIterator runaci
         4: .line 990
            aload 6 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         5: .line 992
            aload 6 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 7 /* tpi */
        start local 7 // org.apache.batik.gvt.text.TextPaintInfo tpi
         6: .line 993
            aload 7 /* tpi */
            ifnull 8
            aload 7 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
            ifnull 8
         7: .line 994
            aload 2 /* g2d */
            aload 7 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
            invokevirtual java.awt.Graphics2D.setComposite:(Ljava/awt/Composite;)V
         8: .line 996
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 5 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            aload 2 /* g2d */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.draw:(Ljava/awt/Graphics2D;)V
        end local 7 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 6 // java.text.AttributedCharacterIterator runaci
        end local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 3 // java.lang.Object textRun1
         9: .line 987
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 998
            return
        end local 2 // java.awt.Graphics2D g2d
        end local 1 // java.util.List textRuns
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   11     1  textRuns  Ljava/util/List;
            0   11     2       g2d  Ljava/awt/Graphics2D;
            2    9     3  textRun1  Ljava/lang/Object;
            3    9     5   textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            4    9     6    runaci  Ljava/text/AttributedCharacterIterator;
            6    9     7       tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
    MethodParameters:
          Name  Flags
      textRuns  
      g2d       

  public java.awt.Shape getOutline(org.apache.batik.bridge.TextNode);
    descriptor: (Lorg/apache/batik/bridge/TextNode;)Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
         0: .line 1006
            aconst_null
            astore 2 /* outline */
        start local 2 // java.awt.geom.GeneralPath outline
         1: .line 1008
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 3 /* aci */
        start local 3 // java.text.AttributedCharacterIterator aci
         2: .line 1009
            aload 3 /* aci */
            ifnonnull 4
         3: .line 1010
            aconst_null
            areturn
         4: .line 1013
      StackMap locals: java.awt.geom.GeneralPath java.text.AttributedCharacterIterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 3 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 4 /* textRuns */
        start local 4 // java.util.List textRuns
         5: .line 1018
            aload 4 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* textRun1 */
        start local 5 // java.lang.Object textRun1
         7: .line 1019
            aload 5 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 7 /* textRun */
        start local 7 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
         8: .line 1020
            aload 7 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 8 /* textRunLayout */
        start local 8 // org.apache.batik.bridge.TextSpanLayout textRunLayout
         9: .line 1022
            new java.awt.geom.GeneralPath
            dup
            aload 8 /* textRunLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getOutline:()Ljava/awt/Shape;
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
        10: .line 1021
            astore 9 /* textRunOutline */
        start local 9 // java.awt.geom.GeneralPath textRunOutline
        11: .line 1024
            aload 2 /* outline */
            ifnonnull 14
        12: .line 1025
            aload 9 /* textRunOutline */
            astore 2 /* outline */
        13: .line 1026
            goto 16
        14: .line 1027
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout java.awt.geom.GeneralPath
      StackMap stack:
            aload 2 /* outline */
            iconst_1
            invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
        15: .line 1028
            aload 2 /* outline */
            aload 9 /* textRunOutline */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        end local 9 // java.awt.geom.GeneralPath textRunOutline
        end local 8 // org.apache.batik.bridge.TextSpanLayout textRunLayout
        end local 7 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 5 // java.lang.Object textRun1
        16: .line 1018
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        17: .line 1033
            aload 0 /* this */
        18: .line 1034
            aload 4 /* textRuns */
            iconst_1
        19: .line 1033
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 5 /* underline */
        start local 5 // java.awt.Shape underline
        20: .line 1036
            aload 0 /* this */
        21: .line 1037
            aload 4 /* textRuns */
            iconst_2
        22: .line 1036
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 6 /* strikeThrough */
        start local 6 // java.awt.Shape strikeThrough
        23: .line 1039
            aload 0 /* this */
        24: .line 1040
            aload 4 /* textRuns */
            iconst_4
        25: .line 1039
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 7 /* overline */
        start local 7 // java.awt.Shape overline
        26: .line 1042
            aload 5 /* underline */
            ifnull 32
        27: .line 1043
            aload 2 /* outline */
            ifnonnull 30
        28: .line 1044
            new java.awt.geom.GeneralPath
            dup
            aload 5 /* underline */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 2 /* outline */
        29: .line 1045
            goto 32
        30: .line 1046
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List java.awt.Shape java.awt.Shape java.awt.Shape
      StackMap stack:
            aload 2 /* outline */
            iconst_1
            invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
        31: .line 1047
            aload 2 /* outline */
            aload 5 /* underline */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        32: .line 1050
      StackMap locals:
      StackMap stack:
            aload 6 /* strikeThrough */
            ifnull 38
        33: .line 1051
            aload 2 /* outline */
            ifnonnull 36
        34: .line 1052
            new java.awt.geom.GeneralPath
            dup
            aload 6 /* strikeThrough */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 2 /* outline */
        35: .line 1053
            goto 38
        36: .line 1054
      StackMap locals:
      StackMap stack:
            aload 2 /* outline */
            iconst_1
            invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
        37: .line 1055
            aload 2 /* outline */
            aload 6 /* strikeThrough */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        38: .line 1058
      StackMap locals:
      StackMap stack:
            aload 7 /* overline */
            ifnull 44
        39: .line 1059
            aload 2 /* outline */
            ifnonnull 42
        40: .line 1060
            new java.awt.geom.GeneralPath
            dup
            aload 7 /* overline */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 2 /* outline */
        41: .line 1061
            goto 44
        42: .line 1062
      StackMap locals:
      StackMap stack:
            aload 2 /* outline */
            iconst_1
            invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
        43: .line 1063
            aload 2 /* outline */
            aload 7 /* overline */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        44: .line 1067
      StackMap locals:
      StackMap stack:
            aload 2 /* outline */
            areturn
        end local 7 // java.awt.Shape overline
        end local 6 // java.awt.Shape strikeThrough
        end local 5 // java.awt.Shape underline
        end local 4 // java.util.List textRuns
        end local 3 // java.text.AttributedCharacterIterator aci
        end local 2 // java.awt.geom.GeneralPath outline
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   45     1            node  Lorg/apache/batik/bridge/TextNode;
            1   45     2         outline  Ljava/awt/geom/GeneralPath;
            2   45     3             aci  Ljava/text/AttributedCharacterIterator;
            5   45     4        textRuns  Ljava/util/List;
            7   16     5        textRun1  Ljava/lang/Object;
            8   16     7         textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            9   16     8   textRunLayout  Lorg/apache/batik/bridge/TextSpanLayout;
           11   16     9  textRunOutline  Ljava/awt/geom/GeneralPath;
           20   45     5       underline  Ljava/awt/Shape;
           23   45     6   strikeThrough  Ljava/awt/Shape;
           26   45     7        overline  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      node  

  public java.awt.geom.Rectangle2D getBounds2D(org.apache.batik.bridge.TextNode);
    descriptor: (Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
         0: .line 1077
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 2 /* aci */
        start local 2 // java.text.AttributedCharacterIterator aci
         1: .line 1078
            aload 2 /* aci */
            ifnonnull 3
         2: .line 1079
            aconst_null
            areturn
         3: .line 1082
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 3 /* textRuns */
        start local 3 // java.util.List textRuns
         4: .line 1084
            aconst_null
            astore 4 /* bounds */
        start local 4 // java.awt.geom.Rectangle2D bounds
         5: .line 1087
            aload 3 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* textRun1 */
        start local 5 // java.lang.Object textRun1
         7: .line 1088
            aload 5 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 7 /* textRun */
        start local 7 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
         8: .line 1089
            aload 7 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 8 /* textRunLayout */
        start local 8 // org.apache.batik.bridge.TextSpanLayout textRunLayout
         9: .line 1090
            aload 8 /* textRunLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 9 /* runBounds */
        start local 9 // java.awt.geom.Rectangle2D runBounds
        10: .line 1091
            aload 9 /* runBounds */
            ifnull 14
        11: .line 1092
            aload 4 /* bounds */
            ifnonnull 13
        12: .line 1093
            aload 9 /* runBounds */
            astore 4 /* bounds */
            goto 14
        13: .line 1095
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout java.awt.geom.Rectangle2D
      StackMap stack:
            aload 4 /* bounds */
            aload 9 /* runBounds */
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        end local 9 // java.awt.geom.Rectangle2D runBounds
        end local 8 // org.apache.batik.bridge.TextSpanLayout textRunLayout
        end local 7 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 5 // java.lang.Object textRun1
        14: .line 1087
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        15: .line 1101
            aload 0 /* this */
        16: .line 1102
            aload 3 /* textRuns */
            iconst_1
        17: .line 1101
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 5 /* underline */
        start local 5 // java.awt.Shape underline
        18: .line 1104
            aload 5 /* underline */
            ifnull 22
        19: .line 1105
            aload 4 /* bounds */
            ifnonnull 21
        20: .line 1106
            aload 5 /* underline */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 4 /* bounds */
            goto 22
        21: .line 1108
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D java.awt.Shape
      StackMap stack:
            aload 4 /* bounds */
            aload 5 /* underline */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        22: .line 1111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        23: .line 1112
            aload 3 /* textRuns */
            iconst_2
        24: .line 1111
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 6 /* strikeThrough */
        start local 6 // java.awt.Shape strikeThrough
        25: .line 1113
            aload 6 /* strikeThrough */
            ifnull 29
        26: .line 1114
            aload 4 /* bounds */
            ifnonnull 28
        27: .line 1115
            aload 6 /* strikeThrough */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 4 /* bounds */
            goto 29
        28: .line 1117
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 4 /* bounds */
            aload 6 /* strikeThrough */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        29: .line 1120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        30: .line 1121
            aload 3 /* textRuns */
            iconst_4
        31: .line 1120
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
            astore 7 /* overline */
        start local 7 // java.awt.Shape overline
        32: .line 1122
            aload 7 /* overline */
            ifnull 36
        33: .line 1123
            aload 4 /* bounds */
            ifnonnull 35
        34: .line 1124
            aload 7 /* overline */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 4 /* bounds */
            goto 36
        35: .line 1126
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 4 /* bounds */
            aload 7 /* overline */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        36: .line 1128
      StackMap locals:
      StackMap stack:
            aload 4 /* bounds */
            areturn
        end local 7 // java.awt.Shape overline
        end local 6 // java.awt.Shape strikeThrough
        end local 5 // java.awt.Shape underline
        end local 4 // java.awt.geom.Rectangle2D bounds
        end local 3 // java.util.List textRuns
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   37     1           node  Lorg/apache/batik/bridge/TextNode;
            1   37     2            aci  Ljava/text/AttributedCharacterIterator;
            4   37     3       textRuns  Ljava/util/List;
            5   37     4         bounds  Ljava/awt/geom/Rectangle2D;
            7   14     5       textRun1  Ljava/lang/Object;
            8   14     7        textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            9   14     8  textRunLayout  Lorg/apache/batik/bridge/TextSpanLayout;
           10   14     9      runBounds  Ljava/awt/geom/Rectangle2D;
           18   37     5      underline  Ljava/awt/Shape;
           25   37     6  strikeThrough  Ljava/awt/Shape;
           32   37     7       overline  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      node  

  protected java.awt.Shape getDecorationOutline(java.util.List, int);
    descriptor: (Ljava/util/List;I)Ljava/awt/Shape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=26, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.util.List textRuns
        start local 2 // int decorationType
         0: .line 1143
            aconst_null
            astore 3 /* outline */
        start local 3 // java.awt.geom.GeneralPath outline
         1: .line 1145
            aconst_null
            astore 4 /* prevPaint */
        start local 4 // java.awt.Paint prevPaint
         2: .line 1146
            aconst_null
            astore 5 /* prevStrokePaint */
        start local 5 // java.awt.Paint prevStrokePaint
         3: .line 1147
            aconst_null
            astore 6 /* prevStroke */
        start local 6 // java.awt.Stroke prevStroke
         4: .line 1148
            aconst_null
            astore 7 /* decorationRect */
        start local 7 // java.awt.geom.Rectangle2D decorationRect
         5: .line 1149
            dconst_0
            dstore 8 /* yLoc */
        start local 8 // double yLoc
         6: dconst_0
            dstore 10 /* height */
        start local 10 // double height
         7: .line 1151
            aload 1 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 70
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
         8: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 12 /* textRun1 */
        start local 12 // java.lang.Object textRun1
         9: .line 1152
            aload 12 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 14 /* textRun */
        start local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        10: .line 1153
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 15 /* runaci */
        start local 15 // java.text.AttributedCharacterIterator runaci
        11: .line 1154
            aload 15 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        12: .line 1156
            aconst_null
            astore 16 /* paint */
        start local 16 // java.awt.Paint paint
        13: .line 1157
            aconst_null
            astore 17 /* stroke */
        start local 17 // java.awt.Stroke stroke
        14: .line 1158
            aconst_null
            astore 18 /* strokePaint */
        start local 18 // java.awt.Paint strokePaint
        15: .line 1159
            aload 15 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 19 /* tpi */
        start local 19 // org.apache.batik.gvt.text.TextPaintInfo tpi
        16: .line 1160
            aload 19 /* tpi */
            ifnull 31
        17: .line 1161
            iload 2 /* decorationType */
            tableswitch { // 1 - 4
                    1: 18
                    2: 26
                    3: 30
                    4: 22
              default: 30
          }
        18: .line 1163
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
            astore 16 /* paint */
        19: .line 1164
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        20: .line 1165
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        21: .line 1166
            goto 31
        22: .line 1168
      StackMap locals:
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
            astore 16 /* paint */
        23: .line 1169
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        24: .line 1170
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        25: .line 1171
            goto 31
        26: .line 1173
      StackMap locals:
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
            astore 16 /* paint */
        27: .line 1174
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        28: .line 1175
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        29: .line 1176
            goto 31
        30: .line 1179
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        31: .line 1183
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifeq 38
        32: .line 1184
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
        33: .line 1185
            iload 2 /* decorationType */
        34: .line 1184
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
            astore 20 /* s */
        start local 20 // java.awt.Shape s
        35: .line 1186
            aload 20 /* s */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* r2d */
        start local 21 // java.awt.geom.Rectangle2D r2d
        36: .line 1187
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            dstore 8 /* yLoc */
        37: .line 1188
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            dstore 10 /* height */
        end local 21 // java.awt.geom.Rectangle2D r2d
        end local 20 // java.awt.Shape s
        38: .line 1191
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifne 42
        39: .line 1192
            aload 16 /* paint */
            aload 4 /* prevPaint */
            if_acmpne 42
        40: .line 1193
            aload 17 /* stroke */
            aload 6 /* prevStroke */
            if_acmpne 42
        41: .line 1194
            aload 18 /* strokePaint */
            aload 5 /* prevStrokePaint */
            if_acmpeq 48
        42: .line 1198
      StackMap locals:
      StackMap stack:
            aload 7 /* decorationRect */
            ifnull 48
        43: .line 1199
            aload 3 /* outline */
            ifnonnull 46
        44: .line 1200
            new java.awt.geom.GeneralPath
            dup
            aload 7 /* decorationRect */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 3 /* outline */
        45: .line 1201
            goto 47
        46: .line 1202
      StackMap locals:
      StackMap stack:
            aload 3 /* outline */
            aload 7 /* decorationRect */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        47: .line 1204
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* decorationRect */
        48: .line 1208
      StackMap locals:
      StackMap stack:
            aload 16 /* paint */
            ifnonnull 49
            aload 18 /* strokePaint */
            ifnull 67
        49: .line 1209
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
            ifne 67
        50: .line 1210
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
            ifne 67
        51: .line 1217
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            iload 2 /* decorationType */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
        52: .line 1216
            astore 20 /* decorationShape */
        start local 20 // java.awt.Shape decorationShape
        53: .line 1218
            aload 7 /* decorationRect */
            ifnonnull 59
        54: .line 1220
            aload 20 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* r2d */
        start local 21 // java.awt.geom.Rectangle2D r2d
        55: .line 1221
            new java.awt.geom.Rectangle2D$Double
            dup
        56: .line 1222
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            dload 8 /* yLoc */
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            dload 10 /* height */
        57: .line 1221
            invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
            astore 7 /* decorationRect */
        end local 21 // java.awt.geom.Rectangle2D r2d
        58: .line 1223
            goto 67
        59: .line 1225
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 20 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* bounds */
        start local 21 // java.awt.geom.Rectangle2D bounds
        60: .line 1226
            aload 7 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        61: .line 1227
            aload 21 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        62: .line 1226
            invokestatic java.lang.Math.min:(DD)D
            dstore 22 /* minX */
        start local 22 // double minX
        63: .line 1228
            aload 7 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        64: .line 1229
            aload 21 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        65: .line 1228
            invokestatic java.lang.Math.max:(DD)D
            dstore 24 /* maxX */
        start local 24 // double maxX
        66: .line 1230
            aload 7 /* decorationRect */
            dload 22 /* minX */
            dload 8 /* yLoc */
            dload 24 /* maxX */
            dload 22 /* minX */
            dsub
            dload 10 /* height */
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        end local 24 // double maxX
        end local 22 // double minX
        end local 21 // java.awt.geom.Rectangle2D bounds
        end local 20 // java.awt.Shape decorationShape
        67: .line 1234
      StackMap locals:
      StackMap stack:
            aload 16 /* paint */
            astore 4 /* prevPaint */
        68: .line 1235
            aload 17 /* stroke */
            astore 6 /* prevStroke */
        69: .line 1236
            aload 18 /* strokePaint */
            astore 5 /* prevStrokePaint */
        end local 19 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 18 // java.awt.Paint strokePaint
        end local 17 // java.awt.Stroke stroke
        end local 16 // java.awt.Paint paint
        end local 15 // java.text.AttributedCharacterIterator runaci
        end local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 12 // java.lang.Object textRun1
        70: .line 1151
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        71: .line 1240
            aload 7 /* decorationRect */
            ifnull 76
        72: .line 1241
            aload 3 /* outline */
            ifnonnull 75
        73: .line 1242
            new java.awt.geom.GeneralPath
            dup
            aload 7 /* decorationRect */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 3 /* outline */
        74: .line 1243
            goto 76
        75: .line 1244
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double
      StackMap stack:
            aload 3 /* outline */
            aload 7 /* decorationRect */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        76: .line 1248
      StackMap locals:
      StackMap stack:
            aload 3 /* outline */
            areturn
        end local 10 // double height
        end local 8 // double yLoc
        end local 7 // java.awt.geom.Rectangle2D decorationRect
        end local 6 // java.awt.Stroke prevStroke
        end local 5 // java.awt.Paint prevStrokePaint
        end local 4 // java.awt.Paint prevPaint
        end local 3 // java.awt.geom.GeneralPath outline
        end local 2 // int decorationType
        end local 1 // java.util.List textRuns
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   77     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   77     1         textRuns  Ljava/util/List;
            0   77     2   decorationType  I
            1   77     3          outline  Ljava/awt/geom/GeneralPath;
            2   77     4        prevPaint  Ljava/awt/Paint;
            3   77     5  prevStrokePaint  Ljava/awt/Paint;
            4   77     6       prevStroke  Ljava/awt/Stroke;
            5   77     7   decorationRect  Ljava/awt/geom/Rectangle2D;
            6   77     8             yLoc  D
            7   77    10           height  D
            9   70    12         textRun1  Ljava/lang/Object;
           10   70    14          textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           11   70    15           runaci  Ljava/text/AttributedCharacterIterator;
           13   70    16            paint  Ljava/awt/Paint;
           14   70    17           stroke  Ljava/awt/Stroke;
           15   70    18      strokePaint  Ljava/awt/Paint;
           16   70    19              tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           35   38    20                s  Ljava/awt/Shape;
           36   38    21              r2d  Ljava/awt/geom/Rectangle2D;
           53   67    20  decorationShape  Ljava/awt/Shape;
           55   58    21              r2d  Ljava/awt/geom/Rectangle2D;
           60   67    21           bounds  Ljava/awt/geom/Rectangle2D;
           63   67    22             minX  D
           66   67    24             maxX  D
    MethodParameters:
                Name  Flags
      textRuns        
      decorationType  

  protected java.awt.Shape getDecorationStrokeOutline(java.util.List, int);
    descriptor: (Ljava/util/List;I)Ljava/awt/Shape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=26, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // java.util.List textRuns
        start local 2 // int decorationType
         0: .line 1264
            aconst_null
            astore 3 /* outline */
        start local 3 // java.awt.geom.GeneralPath outline
         1: .line 1266
            aconst_null
            astore 4 /* prevPaint */
        start local 4 // java.awt.Paint prevPaint
         2: .line 1267
            aconst_null
            astore 5 /* prevStrokePaint */
        start local 5 // java.awt.Paint prevStrokePaint
         3: .line 1268
            aconst_null
            astore 6 /* prevStroke */
        start local 6 // java.awt.Stroke prevStroke
         4: .line 1269
            aconst_null
            astore 7 /* decorationRect */
        start local 7 // java.awt.geom.Rectangle2D decorationRect
         5: .line 1270
            dconst_0
            dstore 8 /* yLoc */
        start local 8 // double yLoc
         6: dconst_0
            dstore 10 /* height */
        start local 10 // double height
         7: .line 1272
            aload 1 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 76
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
         8: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 12 /* textRun1 */
        start local 12 // java.lang.Object textRun1
         9: .line 1274
            aload 12 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 14 /* textRun */
        start local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        10: .line 1275
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
            astore 15 /* runaci */
        start local 15 // java.text.AttributedCharacterIterator runaci
        11: .line 1276
            aload 15 /* runaci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        12: .line 1278
            aconst_null
            astore 16 /* paint */
        start local 16 // java.awt.Paint paint
        13: .line 1279
            aconst_null
            astore 17 /* stroke */
        start local 17 // java.awt.Stroke stroke
        14: .line 1280
            aconst_null
            astore 18 /* strokePaint */
        start local 18 // java.awt.Paint strokePaint
        15: .line 1281
            aload 15 /* runaci */
            getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 19 /* tpi */
        start local 19 // org.apache.batik.gvt.text.TextPaintInfo tpi
        16: .line 1282
            aload 19 /* tpi */
            ifnull 31
        17: .line 1283
            iload 2 /* decorationType */
            tableswitch { // 1 - 4
                    1: 18
                    2: 26
                    3: 30
                    4: 22
              default: 30
          }
        18: .line 1285
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
            astore 16 /* paint */
        19: .line 1286
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        20: .line 1287
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        21: .line 1288
            goto 31
        22: .line 1290
      StackMap locals:
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
            astore 16 /* paint */
        23: .line 1291
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        24: .line 1292
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        25: .line 1293
            goto 31
        26: .line 1295
      StackMap locals:
      StackMap stack:
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
            astore 16 /* paint */
        27: .line 1296
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
            astore 17 /* stroke */
        28: .line 1297
            aload 19 /* tpi */
            getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
            astore 18 /* strokePaint */
        29: .line 1298
            goto 31
        30: .line 1300
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        31: .line 1304
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifeq 38
        32: .line 1305
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
        33: .line 1306
            iload 2 /* decorationType */
        34: .line 1305
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
            astore 20 /* s */
        start local 20 // java.awt.Shape s
        35: .line 1307
            aload 20 /* s */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* r2d */
        start local 21 // java.awt.geom.Rectangle2D r2d
        36: .line 1308
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            dstore 8 /* yLoc */
        37: .line 1309
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            dstore 10 /* height */
        end local 21 // java.awt.geom.Rectangle2D r2d
        end local 20 // java.awt.Shape s
        38: .line 1312
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifne 42
        39: .line 1313
            aload 16 /* paint */
            aload 4 /* prevPaint */
            if_acmpne 42
        40: .line 1314
            aload 17 /* stroke */
            aload 6 /* prevStroke */
            if_acmpne 42
        41: .line 1315
            aload 18 /* strokePaint */
            aload 5 /* prevStrokePaint */
            if_acmpeq 54
        42: .line 1319
      StackMap locals:
      StackMap stack:
            aload 7 /* decorationRect */
            ifnull 54
        43: .line 1321
            aconst_null
            astore 20 /* s */
        start local 20 // java.awt.Shape s
        44: .line 1322
            aload 6 /* prevStroke */
            ifnull 47
        45: .line 1323
            aload 5 /* prevStrokePaint */
            ifnull 47
        46: .line 1324
            aload 6 /* prevStroke */
            aload 7 /* decorationRect */
            invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 20 /* s */
            goto 49
        47: .line 1325
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 4 /* prevPaint */
            ifnull 49
        48: .line 1326
            aload 7 /* decorationRect */
            astore 20 /* s */
        49: .line 1327
      StackMap locals:
      StackMap stack:
            aload 20 /* s */
            ifnull 53
        50: .line 1328
            aload 3 /* outline */
            ifnonnull 52
        51: .line 1329
            new java.awt.geom.GeneralPath
            dup
            aload 20 /* s */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 3 /* outline */
            goto 53
        52: .line 1331
      StackMap locals:
      StackMap stack:
            aload 3 /* outline */
            aload 20 /* s */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        53: .line 1333
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* decorationRect */
        end local 20 // java.awt.Shape s
        54: .line 1337
      StackMap locals:
      StackMap stack:
            aload 16 /* paint */
            ifnonnull 55
            aload 18 /* strokePaint */
            ifnull 73
        55: .line 1338
      StackMap locals:
      StackMap stack:
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
            ifne 73
        56: .line 1339
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
            ifne 73
        57: .line 1346
            aload 14 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            iload 2 /* decorationType */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
        58: .line 1345
            astore 20 /* decorationShape */
        start local 20 // java.awt.Shape decorationShape
        59: .line 1348
            aload 7 /* decorationRect */
            ifnonnull 65
        60: .line 1350
            aload 20 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* r2d */
        start local 21 // java.awt.geom.Rectangle2D r2d
        61: .line 1351
            new java.awt.geom.Rectangle2D$Double
            dup
        62: .line 1352
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            dload 8 /* yLoc */
            aload 21 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            dload 10 /* height */
        63: .line 1351
            invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
            astore 7 /* decorationRect */
        end local 21 // java.awt.geom.Rectangle2D r2d
        64: .line 1353
            goto 73
        65: .line 1355
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 20 /* decorationShape */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 21 /* bounds */
        start local 21 // java.awt.geom.Rectangle2D bounds
        66: .line 1356
            aload 7 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        67: .line 1357
            aload 21 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
        68: .line 1356
            invokestatic java.lang.Math.min:(DD)D
            dstore 22 /* minX */
        start local 22 // double minX
        69: .line 1358
            aload 7 /* decorationRect */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        70: .line 1359
            aload 21 /* bounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
        71: .line 1358
            invokestatic java.lang.Math.max:(DD)D
            dstore 24 /* maxX */
        start local 24 // double maxX
        72: .line 1360
            aload 7 /* decorationRect */
            dload 22 /* minX */
            dload 8 /* yLoc */
            dload 24 /* maxX */
            dload 22 /* minX */
            dsub
            dload 10 /* height */
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        end local 24 // double maxX
        end local 22 // double minX
        end local 21 // java.awt.geom.Rectangle2D bounds
        end local 20 // java.awt.Shape decorationShape
        73: .line 1364
      StackMap locals:
      StackMap stack:
            aload 16 /* paint */
            astore 4 /* prevPaint */
        74: .line 1365
            aload 17 /* stroke */
            astore 6 /* prevStroke */
        75: .line 1366
            aload 18 /* strokePaint */
            astore 5 /* prevStrokePaint */
        end local 19 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 18 // java.awt.Paint strokePaint
        end local 17 // java.awt.Stroke stroke
        end local 16 // java.awt.Paint paint
        end local 15 // java.text.AttributedCharacterIterator runaci
        end local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 12 // java.lang.Object textRun1
        76: .line 1272
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        77: .line 1371
            aload 7 /* decorationRect */
            ifnull 88
        78: .line 1372
            aconst_null
            astore 12 /* s */
        start local 12 // java.awt.Shape s
        79: .line 1373
            aload 6 /* prevStroke */
            ifnull 82
        80: .line 1374
            aload 5 /* prevStrokePaint */
            ifnull 82
        81: .line 1375
            aload 6 /* prevStroke */
            aload 7 /* decorationRect */
            invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 12 /* s */
            goto 84
        82: .line 1376
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.awt.Shape
      StackMap stack:
            aload 4 /* prevPaint */
            ifnull 84
        83: .line 1377
            aload 7 /* decorationRect */
            astore 12 /* s */
        84: .line 1378
      StackMap locals:
      StackMap stack:
            aload 12 /* s */
            ifnull 88
        85: .line 1379
            aload 3 /* outline */
            ifnonnull 87
        86: .line 1380
            new java.awt.geom.GeneralPath
            dup
            aload 12 /* s */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            astore 3 /* outline */
            goto 88
        87: .line 1382
      StackMap locals:
      StackMap stack:
            aload 3 /* outline */
            aload 12 /* s */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        end local 12 // java.awt.Shape s
        88: .line 1386
      StackMap locals:
      StackMap stack:
            aload 3 /* outline */
            areturn
        end local 10 // double height
        end local 8 // double yLoc
        end local 7 // java.awt.geom.Rectangle2D decorationRect
        end local 6 // java.awt.Stroke prevStroke
        end local 5 // java.awt.Paint prevStrokePaint
        end local 4 // java.awt.Paint prevPaint
        end local 3 // java.awt.geom.GeneralPath outline
        end local 2 // int decorationType
        end local 1 // java.util.List textRuns
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   89     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   89     1         textRuns  Ljava/util/List;
            0   89     2   decorationType  I
            1   89     3          outline  Ljava/awt/geom/GeneralPath;
            2   89     4        prevPaint  Ljava/awt/Paint;
            3   89     5  prevStrokePaint  Ljava/awt/Paint;
            4   89     6       prevStroke  Ljava/awt/Stroke;
            5   89     7   decorationRect  Ljava/awt/geom/Rectangle2D;
            6   89     8             yLoc  D
            7   89    10           height  D
            9   76    12         textRun1  Ljava/lang/Object;
           10   76    14          textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           11   76    15           runaci  Ljava/text/AttributedCharacterIterator;
           13   76    16            paint  Ljava/awt/Paint;
           14   76    17           stroke  Ljava/awt/Stroke;
           15   76    18      strokePaint  Ljava/awt/Paint;
           16   76    19              tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           35   38    20                s  Ljava/awt/Shape;
           36   38    21              r2d  Ljava/awt/geom/Rectangle2D;
           44   54    20                s  Ljava/awt/Shape;
           59   73    20  decorationShape  Ljava/awt/Shape;
           61   64    21              r2d  Ljava/awt/geom/Rectangle2D;
           66   73    21           bounds  Ljava/awt/geom/Rectangle2D;
           69   73    22             minX  D
           72   73    24             maxX  D
           79   88    12                s  Ljava/awt/Shape;
    MethodParameters:
                Name  Flags
      textRuns        
      decorationType  

  public org.apache.batik.bridge.Mark getMark(org.apache.batik.bridge.TextNode, int, boolean);
    descriptor: (Lorg/apache/batik/bridge/TextNode;IZ)Lorg/apache/batik/bridge/Mark;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // int index
        start local 3 // boolean leadingEdge
         0: .line 1392
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 4 /* aci */
        start local 4 // java.text.AttributedCharacterIterator aci
         1: .line 1393
            aload 4 /* aci */
            ifnonnull 3
         2: .line 1394
            aconst_null
            areturn
         3: .line 1396
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            iload 2 /* index */
            aload 4 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            if_icmplt 5
         4: .line 1397
            iload 2 /* index */
            aload 4 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            if_icmple 6
         5: .line 1398
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 1400
      StackMap locals:
      StackMap stack:
            new org.apache.batik.bridge.TextHit
            dup
            iload 2 /* index */
            iload 3 /* leadingEdge */
            invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
            astore 5 /* textHit */
        start local 5 // org.apache.batik.bridge.TextHit textHit
         7: .line 1401
            new org.apache.batik.bridge.BasicTextPainter$BasicMark
            dup
            aload 1 /* node */
            aload 5 /* textHit */
            invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
            areturn
        end local 5 // org.apache.batik.bridge.TextHit textHit
        end local 4 // java.text.AttributedCharacterIterator aci
        end local 3 // boolean leadingEdge
        end local 2 // int index
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0    8     1         node  Lorg/apache/batik/bridge/TextNode;
            0    8     2        index  I
            0    8     3  leadingEdge  Z
            1    8     4          aci  Ljava/text/AttributedCharacterIterator;
            7    8     5      textHit  Lorg/apache/batik/bridge/TextHit;
    MethodParameters:
             Name  Flags
      node         
      index        
      leadingEdge  

  protected org.apache.batik.bridge.Mark hitTest(double, double, org.apache.batik.bridge.TextNode);
    descriptor: (DDLorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // double x
        start local 3 // double y
        start local 5 // org.apache.batik.bridge.TextNode node
         0: .line 1406
            aload 5 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 6 /* aci */
        start local 6 // java.text.AttributedCharacterIterator aci
         1: .line 1407
            aload 6 /* aci */
            ifnonnull 3
         2: .line 1408
            aconst_null
            areturn
         3: .line 1411
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 0 /* this */
            aload 5 /* node */
            aload 6 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 7 /* textRuns */
        start local 7 // java.util.List textRuns
         4: .line 1412
            aload 7 /* textRuns */
            ifnull 15
         5: .line 1414
            aload 7 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 14
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter double double org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* textRun1 */
        start local 8 // java.lang.Object textRun1
         7: .line 1415
            aload 8 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 10 /* textRun */
        start local 10 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
         8: .line 1416
            aload 10 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 11 /* layout */
        start local 11 // org.apache.batik.bridge.TextSpanLayout layout
         9: .line 1417
            aload 11 /* layout */
            dload 1 /* x */
            d2f
            dload 3 /* y */
            d2f
            invokeinterface org.apache.batik.bridge.TextSpanLayout.hitTestChar:(FF)Lorg/apache/batik/bridge/TextHit;
            astore 12 /* textHit */
        start local 12 // org.apache.batik.bridge.TextHit textHit
        10: .line 1418
            aload 11 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 13 /* bounds */
        start local 13 // java.awt.geom.Rectangle2D bounds
        11: .line 1419
            aload 12 /* textHit */
            ifnull 14
        12: .line 1420
            aload 13 /* bounds */
            ifnull 14
            aload 13 /* bounds */
            dload 1 /* x */
            dload 3 /* y */
            invokevirtual java.awt.geom.Rectangle2D.contains:(DD)Z
            ifeq 14
        13: .line 1421
            new org.apache.batik.bridge.BasicTextPainter$BasicMark
            dup
            aload 5 /* node */
            aload 12 /* textHit */
            invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
            areturn
        end local 13 // java.awt.geom.Rectangle2D bounds
        end local 12 // org.apache.batik.bridge.TextHit textHit
        end local 11 // org.apache.batik.bridge.TextSpanLayout layout
        end local 10 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 8 // java.lang.Object textRun1
        14: .line 1414
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        15: .line 1425
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter double double org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List
      StackMap stack:
            aconst_null
            areturn
        end local 7 // java.util.List textRuns
        end local 6 // java.text.AttributedCharacterIterator aci
        end local 5 // org.apache.batik.bridge.TextNode node
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   16     1         x  D
            0   16     3         y  D
            0   16     5      node  Lorg/apache/batik/bridge/TextNode;
            1   16     6       aci  Ljava/text/AttributedCharacterIterator;
            4   16     7  textRuns  Ljava/util/List;
            7   14     8  textRun1  Ljava/lang/Object;
            8   14    10   textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            9   14    11    layout  Lorg/apache/batik/bridge/TextSpanLayout;
           10   14    12   textHit  Lorg/apache/batik/bridge/TextHit;
           11   14    13    bounds  Ljava/awt/geom/Rectangle2D;
    MethodParameters:
      Name  Flags
      x     
      y     
      node  

  public org.apache.batik.bridge.Mark selectFirst(org.apache.batik.bridge.TextNode);
    descriptor: (Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
         0: .line 1433
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 2 /* aci */
        start local 2 // java.text.AttributedCharacterIterator aci
         1: .line 1434
            aload 2 /* aci */
            ifnonnull 3
         2: .line 1435
            aconst_null
            areturn
         3: .line 1437
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            new org.apache.batik.bridge.TextHit
            dup
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            iconst_0
            invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
            astore 3 /* textHit */
        start local 3 // org.apache.batik.bridge.TextHit textHit
         4: .line 1438
            new org.apache.batik.bridge.BasicTextPainter$BasicMark
            dup
            aload 1 /* node */
            aload 3 /* textHit */
            invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
            areturn
        end local 3 // org.apache.batik.bridge.TextHit textHit
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0    5     1     node  Lorg/apache/batik/bridge/TextNode;
            1    5     2      aci  Ljava/text/AttributedCharacterIterator;
            4    5     3  textHit  Lorg/apache/batik/bridge/TextHit;
    MethodParameters:
      Name  Flags
      node  

  public org.apache.batik.bridge.Mark selectLast(org.apache.batik.bridge.TextNode);
    descriptor: (Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
         0: .line 1446
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 2 /* aci */
        start local 2 // java.text.AttributedCharacterIterator aci
         1: .line 1447
            aload 2 /* aci */
            ifnonnull 3
         2: .line 1448
            aconst_null
            areturn
         3: .line 1450
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            new org.apache.batik.bridge.TextHit
            dup
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            iconst_1
            isub
            iconst_0
            invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
            astore 3 /* textHit */
        start local 3 // org.apache.batik.bridge.TextHit textHit
         4: .line 1451
            new org.apache.batik.bridge.BasicTextPainter$BasicMark
            dup
            aload 1 /* node */
            aload 3 /* textHit */
            invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
            areturn
        end local 3 // org.apache.batik.bridge.TextHit textHit
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0    5     1     node  Lorg/apache/batik/bridge/TextNode;
            1    5     2      aci  Ljava/text/AttributedCharacterIterator;
            4    5     3  textHit  Lorg/apache/batik/bridge/TextHit;
    MethodParameters:
      Name  Flags
      node  

  public int[] getSelected(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
    descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.Mark startMark
        start local 2 // org.apache.batik.bridge.Mark finishMark
         0: .line 1464
            aload 1 /* startMark */
            ifnull 1
            aload 2 /* finishMark */
            ifnonnull 2
         1: .line 1465
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1470
      StackMap locals:
      StackMap stack:
            aload 1 /* startMark */
            checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
            astore 3 /* start */
        start local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark start
         3: .line 1471
            aload 2 /* finishMark */
            checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
            astore 4 /* finish */
        start local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark finish
         4: .line 1472
            goto 9
        end local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark finish
        end local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark start
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
         5: pop
         6: .line 1473
            new java.lang.RuntimeException
            dup
         7: .line 1474
            ldc "This Mark was not instantiated by this TextPainter class!"
         8: .line 1473
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark start
        start local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark finish
         9: .line 1477
      StackMap locals: org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark
      StackMap stack:
            aload 3 /* start */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            astore 5 /* textNode */
        start local 5 // org.apache.batik.bridge.TextNode textNode
        10: .line 1478
            aload 5 /* textNode */
            ifnonnull 12
        11: .line 1479
            aconst_null
            areturn
        12: .line 1480
      StackMap locals: org.apache.batik.bridge.TextNode
      StackMap stack:
            aload 5 /* textNode */
            aload 4 /* finish */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            if_acmpeq 14
        13: .line 1481
            new java.lang.RuntimeException
            dup
            ldc "Markers are from different TextNodes!"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1484
      StackMap locals:
      StackMap stack:
            aload 5 /* textNode */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 6 /* aci */
        start local 6 // java.text.AttributedCharacterIterator aci
        15: .line 1485
            aload 6 /* aci */
            ifnonnull 17
        16: .line 1486
            aconst_null
            areturn
        17: .line 1488
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            iconst_2
            newarray 10
            astore 7 /* result */
        start local 7 // int[] result
        18: .line 1489
            aload 7 /* result */
            iconst_0
            aload 3 /* start */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
            invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
            iastore
        19: .line 1490
            aload 7 /* result */
            iconst_1
            aload 4 /* finish */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
            invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
            iastore
        20: .line 1493
            aload 0 /* this */
            aload 5 /* textNode */
            aload 6 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 8 /* textRuns */
        start local 8 // java.util.List textRuns
        21: .line 1494
            aload 8 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9 /* trI */
        start local 9 // java.util.Iterator trI
        22: .line 1495
            iconst_m1
            istore 10 /* startGlyphIndex */
        start local 10 // int startGlyphIndex
        23: .line 1496
            iconst_m1
            istore 11 /* endGlyphIndex */
        start local 11 // int endGlyphIndex
        24: .line 1497
            aconst_null
            astore 12 /* startLayout */
        start local 12 // org.apache.batik.bridge.TextSpanLayout startLayout
        25: aconst_null
            astore 13 /* endLayout */
        start local 13 // org.apache.batik.bridge.TextSpanLayout endLayout
        26: .line 1498
            goto 39
        27: .line 1499
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.Mark org.apache.batik.bridge.Mark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List java.util.Iterator int int org.apache.batik.bridge.TextSpanLayout org.apache.batik.bridge.TextSpanLayout
      StackMap stack:
            aload 9 /* trI */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 14 /* tr */
        start local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun tr
        28: .line 1500
            aload 14 /* tr */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 15 /* tsl */
        start local 15 // org.apache.batik.bridge.TextSpanLayout tsl
        29: .line 1501
            iload 10 /* startGlyphIndex */
            iconst_m1
            if_icmpne 33
        30: .line 1502
            aload 15 /* tsl */
            aload 7 /* result */
            iconst_0
            iaload
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphIndex:(I)I
            istore 10 /* startGlyphIndex */
        31: .line 1503
            iload 10 /* startGlyphIndex */
            iconst_m1
            if_icmpeq 33
        32: .line 1504
            aload 15 /* tsl */
            astore 12 /* startLayout */
        33: .line 1507
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout
      StackMap stack:
            iload 11 /* endGlyphIndex */
            iconst_m1
            if_icmpne 37
        34: .line 1508
            aload 15 /* tsl */
            aload 7 /* result */
            iconst_1
            iaload
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphIndex:(I)I
            istore 11 /* endGlyphIndex */
        35: .line 1509
            iload 11 /* endGlyphIndex */
            iconst_m1
            if_icmpeq 37
        36: .line 1510
            aload 15 /* tsl */
            astore 13 /* endLayout */
        37: .line 1512
      StackMap locals:
      StackMap stack:
            iload 10 /* startGlyphIndex */
            iconst_m1
            if_icmpeq 39
            iload 11 /* endGlyphIndex */
            iconst_m1
            if_icmpeq 39
        38: .line 1513
            goto 40
        end local 15 // org.apache.batik.bridge.TextSpanLayout tsl
        end local 14 // org.apache.batik.bridge.StrokingTextPainter$TextRun tr
        39: .line 1498
      StackMap locals:
      StackMap stack:
            aload 9 /* trI */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        40: .line 1515
      StackMap locals:
      StackMap stack:
            aload 12 /* startLayout */
            ifnull 41
            aload 13 /* endLayout */
            ifnonnull 42
        41: .line 1516
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        42: .line 1518
      StackMap locals:
      StackMap stack:
            aload 12 /* startLayout */
        43: .line 1519
            iload 10 /* startGlyphIndex */
            iload 10 /* startGlyphIndex */
        44: .line 1518
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getCharacterCount:(II)I
            istore 14 /* startCharCount */
        start local 14 // int startCharCount
        45: .line 1520
            aload 13 /* endLayout */
        46: .line 1521
            iload 11 /* endGlyphIndex */
            iload 11 /* endGlyphIndex */
        47: .line 1520
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getCharacterCount:(II)I
            istore 15 /* endCharCount */
        start local 15 // int endCharCount
        48: .line 1522
            iload 14 /* startCharCount */
            iconst_1
            if_icmple 54
        49: .line 1523
            aload 7 /* result */
            iconst_0
            iaload
            aload 7 /* result */
            iconst_1
            iaload
            if_icmple 52
            aload 12 /* startLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
            ifeq 52
        50: .line 1524
            aload 7 /* result */
            iconst_0
            dup2
            iaload
            iload 14 /* startCharCount */
            iconst_1
            isub
            iadd
            iastore
        51: .line 1525
            goto 54
      StackMap locals: int int
      StackMap stack:
        52: aload 7 /* result */
            iconst_1
            iaload
            aload 7 /* result */
            iconst_0
            iaload
            if_icmple 54
            aload 12 /* startLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
            ifne 54
        53: .line 1526
            aload 7 /* result */
            iconst_0
            dup2
            iaload
            iload 14 /* startCharCount */
            iconst_1
            isub
            isub
            iastore
        54: .line 1529
      StackMap locals:
      StackMap stack:
            iload 15 /* endCharCount */
            iconst_1
            if_icmple 60
        55: .line 1530
            aload 7 /* result */
            iconst_1
            iaload
            aload 7 /* result */
            iconst_0
            iaload
            if_icmple 58
            aload 13 /* endLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
            ifeq 58
        56: .line 1531
            aload 7 /* result */
            iconst_1
            dup2
            iaload
            iload 15 /* endCharCount */
            iconst_1
            isub
            iadd
            iastore
        57: .line 1532
            goto 60
      StackMap locals:
      StackMap stack:
        58: aload 7 /* result */
            iconst_0
            iaload
            aload 7 /* result */
            iconst_1
            iaload
            if_icmple 60
            aload 13 /* endLayout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
            ifne 60
        59: .line 1533
            aload 7 /* result */
            iconst_1
            dup2
            iaload
            iload 15 /* endCharCount */
            iconst_1
            isub
            isub
            iastore
        60: .line 1537
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 15 // int endCharCount
        end local 14 // int startCharCount
        end local 13 // org.apache.batik.bridge.TextSpanLayout endLayout
        end local 12 // org.apache.batik.bridge.TextSpanLayout startLayout
        end local 11 // int endGlyphIndex
        end local 10 // int startGlyphIndex
        end local 9 // java.util.Iterator trI
        end local 8 // java.util.List textRuns
        end local 7 // int[] result
        end local 6 // java.text.AttributedCharacterIterator aci
        end local 5 // org.apache.batik.bridge.TextNode textNode
        end local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark finish
        end local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark start
        end local 2 // org.apache.batik.bridge.Mark finishMark
        end local 1 // org.apache.batik.bridge.Mark startMark
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   61     0             this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   61     1        startMark  Lorg/apache/batik/bridge/Mark;
            0   61     2       finishMark  Lorg/apache/batik/bridge/Mark;
            3    5     3            start  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            9   61     3            start  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            4    5     4           finish  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            9   61     4           finish  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
           10   61     5         textNode  Lorg/apache/batik/bridge/TextNode;
           15   61     6              aci  Ljava/text/AttributedCharacterIterator;
           18   61     7           result  [I
           21   61     8         textRuns  Ljava/util/List;
           22   61     9              trI  Ljava/util/Iterator;
           23   61    10  startGlyphIndex  I
           24   61    11    endGlyphIndex  I
           25   61    12      startLayout  Lorg/apache/batik/bridge/TextSpanLayout;
           26   61    13        endLayout  Lorg/apache/batik/bridge/TextSpanLayout;
           28   39    14               tr  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           29   39    15              tsl  Lorg/apache/batik/bridge/TextSpanLayout;
           45   61    14   startCharCount  I
           48   61    15     endCharCount  I
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.ClassCastException
    MethodParameters:
            Name  Flags
      startMark   
      finishMark  

  public java.awt.Shape getHighlightShape(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
    descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=16, args_size=3
        start local 0 // org.apache.batik.bridge.StrokingTextPainter this
        start local 1 // org.apache.batik.bridge.Mark beginMark
        start local 2 // org.apache.batik.bridge.Mark endMark
         0: .line 1548
            aload 1 /* beginMark */
            ifnull 1
            aload 2 /* endMark */
            ifnonnull 2
         1: .line 1549
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1555
      StackMap locals:
      StackMap stack:
            aload 1 /* beginMark */
            checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
            astore 3 /* begin */
        start local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark begin
         3: .line 1556
            aload 2 /* endMark */
            checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
            astore 4 /* end */
        start local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark end
         4: .line 1557
            goto 9
        end local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark end
        end local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark begin
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
         5: pop
         6: .line 1558
            new java.lang.RuntimeException
            dup
         7: .line 1559
            ldc "This Mark was not instantiated by this TextPainter class!"
         8: .line 1558
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark begin
        start local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark end
         9: .line 1562
      StackMap locals: org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark
      StackMap stack:
            aload 3 /* begin */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            astore 5 /* textNode */
        start local 5 // org.apache.batik.bridge.TextNode textNode
        10: .line 1563
            aload 5 /* textNode */
            ifnonnull 12
        11: .line 1564
            aconst_null
            areturn
        12: .line 1565
      StackMap locals: org.apache.batik.bridge.TextNode
      StackMap stack:
            aload 5 /* textNode */
            aload 4 /* end */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            if_acmpeq 14
        13: .line 1566
            new java.lang.RuntimeException
            dup
            ldc "Markers are from different TextNodes!"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1569
      StackMap locals:
      StackMap stack:
            aload 5 /* textNode */
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
            astore 6 /* aci */
        start local 6 // java.text.AttributedCharacterIterator aci
        15: .line 1570
            aload 6 /* aci */
            ifnonnull 17
        16: .line 1571
            aconst_null
            areturn
        17: .line 1573
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 3 /* begin */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
            invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
            istore 7 /* beginIndex */
        start local 7 // int beginIndex
        18: .line 1574
            aload 4 /* end */
            invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
            invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
            istore 8 /* endIndex */
        start local 8 // int endIndex
        19: .line 1575
            iload 7 /* beginIndex */
            iload 8 /* endIndex */
            if_icmple 24
        20: .line 1577
            aload 3 /* begin */
            astore 9 /* tmpMark */
        start local 9 // org.apache.batik.bridge.BasicTextPainter$BasicMark tmpMark
        21: .line 1578
            aload 4 /* end */
            astore 3 /* begin */
            aload 9 /* tmpMark */
            astore 4 /* end */
        22: .line 1580
            iload 7 /* beginIndex */
            istore 10 /* tmpIndex */
        start local 10 // int tmpIndex
        23: .line 1581
            iload 8 /* endIndex */
            istore 7 /* beginIndex */
            iload 10 /* tmpIndex */
            istore 8 /* endIndex */
        end local 10 // int tmpIndex
        end local 9 // org.apache.batik.bridge.BasicTextPainter$BasicMark tmpMark
        24: .line 1585
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* textNode */
            aload 6 /* aci */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 9 /* textRuns */
        start local 9 // java.util.List textRuns
        25: .line 1587
            new java.awt.geom.GeneralPath
            dup
            invokespecial java.awt.geom.GeneralPath.<init>:()V
            astore 10 /* highlightedShape */
        start local 10 // java.awt.geom.GeneralPath highlightedShape
        26: .line 1591
            aload 9 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 36
      StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.Mark org.apache.batik.bridge.Mark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int int java.util.List java.awt.geom.GeneralPath top java.util.Iterator
      StackMap stack:
        27: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 11 /* textRun1 */
        start local 11 // java.lang.Object textRun1
        28: .line 1592
            aload 11 /* textRun1 */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 13 /* textRun */
        start local 13 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        29: .line 1593
            aload 13 /* textRun */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 14 /* layout */
        start local 14 // org.apache.batik.bridge.TextSpanLayout layout
        30: .line 1595
            aload 14 /* layout */
        31: .line 1596
            iload 7 /* beginIndex */
            iload 8 /* endIndex */
        32: .line 1595
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getHighlightShape:(II)Ljava/awt/Shape;
            astore 15 /* layoutHighlightedShape */
        start local 15 // java.awt.Shape layoutHighlightedShape
        33: .line 1600
            aload 15 /* layoutHighlightedShape */
            ifnull 36
        34: .line 1601
            aload 15 /* layoutHighlightedShape */
            invokeinterface java.awt.Shape.getBounds:()Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifne 36
        35: .line 1602
            aload 10 /* highlightedShape */
            aload 15 /* layoutHighlightedShape */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        end local 15 // java.awt.Shape layoutHighlightedShape
        end local 14 // org.apache.batik.bridge.TextSpanLayout layout
        end local 13 // org.apache.batik.bridge.StrokingTextPainter$TextRun textRun
        end local 11 // java.lang.Object textRun1
        36: .line 1591
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        37: .line 1605
            aload 10 /* highlightedShape */
            areturn
        end local 10 // java.awt.geom.GeneralPath highlightedShape
        end local 9 // java.util.List textRuns
        end local 8 // int endIndex
        end local 7 // int beginIndex
        end local 6 // java.text.AttributedCharacterIterator aci
        end local 5 // org.apache.batik.bridge.TextNode textNode
        end local 4 // org.apache.batik.bridge.BasicTextPainter$BasicMark end
        end local 3 // org.apache.batik.bridge.BasicTextPainter$BasicMark begin
        end local 2 // org.apache.batik.bridge.Mark endMark
        end local 1 // org.apache.batik.bridge.Mark beginMark
        end local 0 // org.apache.batik.bridge.StrokingTextPainter this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   38     0                    this  Lorg/apache/batik/bridge/StrokingTextPainter;
            0   38     1               beginMark  Lorg/apache/batik/bridge/Mark;
            0   38     2                 endMark  Lorg/apache/batik/bridge/Mark;
            3    5     3                   begin  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            9   38     3                   begin  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            4    5     4                     end  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
            9   38     4                     end  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
           10   38     5                textNode  Lorg/apache/batik/bridge/TextNode;
           15   38     6                     aci  Ljava/text/AttributedCharacterIterator;
           18   38     7              beginIndex  I
           19   38     8                endIndex  I
           21   24     9                 tmpMark  Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
           23   24    10                tmpIndex  I
           25   38     9                textRuns  Ljava/util/List;
           26   38    10        highlightedShape  Ljava/awt/geom/GeneralPath;
           28   36    11                textRun1  Ljava/lang/Object;
           29   36    13                 textRun  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           30   36    14                  layout  Lorg/apache/batik/bridge/TextSpanLayout;
           33   36    15  layoutHighlightedShape  Ljava/awt/Shape;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.ClassCastException
    MethodParameters:
           Name  Flags
      beginMark  
      endMark    
}
SourceFile: "StrokingTextPainter.java"
NestMembers:
  org.apache.batik.bridge.StrokingTextPainter$TextChunk  org.apache.batik.bridge.StrokingTextPainter$TextRun
InnerClasses:
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public Double = java.awt.geom.Rectangle2D$Double of java.awt.geom.Rectangle2D
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  protected BasicMark = org.apache.batik.bridge.BasicTextPainter$BasicMark of org.apache.batik.bridge.BasicTextPainter
  public TextChunk = org.apache.batik.bridge.StrokingTextPainter$TextChunk of org.apache.batik.bridge.StrokingTextPainter
  public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
  public final Anchor = org.apache.batik.bridge.TextNode$Anchor of org.apache.batik.bridge.TextNode
  public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator