public class org.apache.lucene.analysis.ja.GraphvizFormatter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.analysis.ja.GraphvizFormatter
  super_class: java.lang.Object
{
  private static final java.lang.String BOS_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "BOS"

  private static final java.lang.String EOS_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "EOS"

  private static final java.lang.String FONT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Helvetica"

  private final org.apache.lucene.analysis.ja.dict.ConnectionCosts costs;
    descriptor: Lorg/apache/lucene/analysis/ja/dict/ConnectionCosts;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.String> bestPathMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final java.lang.StringBuilder sb;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            ldc Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.analysis.ja.GraphvizFormatter.$assertionsDisabled:Z
         3: .line 41
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.lucene.analysis.ja.dict.ConnectionCosts);
    descriptor: (Lorg/apache/lucene/analysis/ja/dict/ConnectionCosts;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
        start local 1 // org.apache.lucene.analysis.ja.dict.ConnectionCosts costs
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
         2: .line 50
            aload 0 /* this */
            aload 1 /* costs */
            putfield org.apache.lucene.analysis.ja.GraphvizFormatter.costs:Lorg/apache/lucene/analysis/ja/dict/ConnectionCosts;
         3: .line 51
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
         4: .line 52
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.formatHeader:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 53
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            ldc "  init [style=invis]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 54
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            ldc "  init -> 0.0 [label=\"BOS\"]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 55
            return
        end local 1 // org.apache.lucene.analysis.ja.dict.ConnectionCosts costs
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            0    8     1  costs  Lorg/apache/lucene/analysis/ja/dict/ConnectionCosts;
    MethodParameters:
       Name  Flags
      costs  

  public java.lang.String finish();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
         0: .line 58
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.formatTrailer:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 59
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;

  void onBacktrace(org.apache.lucene.analysis.ja.JapaneseTokenizer, org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray, int, org.apache.lucene.analysis.ja.JapaneseTokenizer$Position, int, char[], boolean);
    descriptor: (Lorg/apache/lucene/analysis/ja/JapaneseTokenizer;Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;ILorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;I[CZ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
        start local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer tok
        start local 2 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        start local 3 // int lastBackTracePos
        start local 4 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        start local 5 // int fromIDX
        start local 6 // char[] fragment
        start local 7 // boolean isEnd
         0: .line 64
            aload 0 /* this */
            aload 2 /* positions */
            iload 3 /* lastBackTracePos */
            aload 4 /* endPosData */
            iload 5 /* fromIDX */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.setBestPathMap:(Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;ILorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;I)V
         1: .line 65
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* tok */
            aload 2 /* positions */
            iload 3 /* lastBackTracePos */
            aload 4 /* endPosData */
            aload 6 /* fragment */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.formatNodes:(Lorg/apache/lucene/analysis/ja/JapaneseTokenizer;Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;ILorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;[C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 66
            iload 7 /* isEnd */
            ifeq 7
         3: .line 67
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            ldc "  fini [style=invis]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 68
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 69
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 4 /* endPosData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.pos:I
            iload 5 /* fromIDX */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 70
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.sb:Ljava/lang/StringBuilder;
            ldc " -> fini [label=\"EOS\"]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean isEnd
        end local 6 // char[] fragment
        end local 5 // int fromIDX
        end local 4 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        end local 3 // int lastBackTracePos
        end local 2 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        end local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer tok
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            0    8     1               tok  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer;
            0    8     2         positions  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;
            0    8     3  lastBackTracePos  I
            0    8     4        endPosData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            0    8     5           fromIDX  I
            0    8     6          fragment  [C
            0    8     7             isEnd  Z
    MethodParameters:
                  Name  Flags
      tok               
      positions         
      lastBackTracePos  
      endPosData        
      fromIDX           
      fragment          
      isEnd             

  private void setBestPathMap(org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray, int, org.apache.lucene.analysis.ja.JapaneseTokenizer$Position, int);
    descriptor: (Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;ILorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=5
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
        start local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        start local 2 // int startPos
        start local 3 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        start local 4 // int fromIDX
         0: .line 76
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 78
            aload 3 /* endPosData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.pos:I
            istore 5 /* pos */
        start local 5 // int pos
         2: .line 79
            iload 4 /* fromIDX */
            istore 6 /* bestIDX */
        start local 6 // int bestIDX
         3: .line 80
            goto 14
         4: .line 81
      StackMap locals: int int
      StackMap stack:
            aload 1 /* positions */
            iload 5 /* pos */
            invokevirtual org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray.get:(I)Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            astore 7 /* posData */
        start local 7 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
         5: .line 83
            aload 7 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backPos:[I
            iload 6 /* bestIDX */
            iaload
            istore 8 /* backPos */
        start local 8 // int backPos
         6: .line 84
            aload 7 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backIndex:[I
            iload 6 /* bestIDX */
            iaload
            istore 9 /* backIDX */
        start local 9 // int backIDX
         7: .line 86
            aload 0 /* this */
            iload 5 /* pos */
            iload 6 /* bestIDX */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            astore 10 /* toNodeID */
        start local 10 // java.lang.String toNodeID
         8: .line 87
            aload 0 /* this */
            iload 8 /* backPos */
            iload 9 /* backIDX */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            astore 11 /* fromNodeID */
        start local 11 // java.lang.String fromNodeID
         9: .line 89
            getstatic org.apache.lucene.analysis.ja.GraphvizFormatter.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
            aload 11 /* fromNodeID */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 90
      StackMap locals: org.apache.lucene.analysis.ja.GraphvizFormatter org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int int int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int int java.lang.String java.lang.String
      StackMap stack:
            getstatic org.apache.lucene.analysis.ja.GraphvizFormatter.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
            aload 10 /* toNodeID */
            invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
            ifeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
            aload 11 /* fromNodeID */
            aload 10 /* toNodeID */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 92
            iload 8 /* backPos */
            istore 5 /* pos */
        13: .line 93
            iload 9 /* backIDX */
            istore 6 /* bestIDX */
        end local 11 // java.lang.String fromNodeID
        end local 10 // java.lang.String toNodeID
        end local 9 // int backIDX
        end local 8 // int backPos
        end local 7 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
        14: .line 80
      StackMap locals: org.apache.lucene.analysis.ja.GraphvizFormatter org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int int int
      StackMap stack:
            iload 5 /* pos */
            iload 2 /* startPos */
            if_icmpgt 4
        15: .line 95
            return
        end local 6 // int bestIDX
        end local 5 // int pos
        end local 4 // int fromIDX
        end local 3 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        end local 2 // int startPos
        end local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            0   16     1   positions  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;
            0   16     2    startPos  I
            0   16     3  endPosData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            0   16     4     fromIDX  I
            2   16     5         pos  I
            3   16     6     bestIDX  I
            5   14     7     posData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            6   14     8     backPos  I
            7   14     9     backIDX  I
            8   14    10    toNodeID  Ljava/lang/String;
            9   14    11  fromNodeID  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      positions   
      startPos    
      endPosData  
      fromIDX     

  private java.lang.String formatNodes(org.apache.lucene.analysis.ja.JapaneseTokenizer, org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray, int, org.apache.lucene.analysis.ja.JapaneseTokenizer$Position, char[]);
    descriptor: (Lorg/apache/lucene/analysis/ja/JapaneseTokenizer;Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;ILorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;[C)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=18, args_size=6
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
        start local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer tok
        start local 2 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        start local 3 // int startPos
        start local 4 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        start local 5 // char[] fragment
         0: .line 99
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         1: .line 101
            iload 3 /* startPos */
            iconst_1
            iadd
            istore 7 /* pos */
        start local 7 // int pos
         2: goto 16
         3: .line 102
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* positions */
            iload 7 /* pos */
            invokevirtual org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray.get:(I)Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            astore 8 /* posData */
        start local 8 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
         4: .line 103
            iconst_0
            istore 9 /* idx */
        start local 9 // int idx
         5: goto 14
         6: .line 104
      StackMap locals: org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int
      StackMap stack:
            aload 6 /* sb */
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 105
            aload 6 /* sb */
            aload 0 /* this */
            iload 7 /* pos */
            iload 9 /* idx */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 106
            aload 6 /* sb */
            ldc " [label=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 107
            aload 6 /* sb */
            iload 7 /* pos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 108
            aload 6 /* sb */
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 109
            aload 6 /* sb */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.lastRightID:[I
            iload 9 /* idx */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        12: .line 110
            aload 6 /* sb */
            ldc "\"]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 103
            iinc 9 /* idx */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* idx */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.count:I
            if_icmplt 6
        end local 9 // int idx
        end local 8 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
        15: .line 101
            iinc 7 /* pos */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* pos */
            aload 4 /* endPosData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.pos:I
            if_icmple 3
        end local 7 // int pos
        17: .line 115
            aload 4 /* endPosData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.pos:I
            istore 7 /* pos */
        start local 7 // int pos
        18: goto 55
        19: .line 116
      StackMap locals:
      StackMap stack:
            aload 2 /* positions */
            iload 7 /* pos */
            invokevirtual org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray.get:(I)Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            astore 8 /* posData */
        start local 8 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
        20: .line 117
            iconst_0
            istore 9 /* idx */
        start local 9 // int idx
        21: goto 53
        22: .line 118
      StackMap locals: org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int
      StackMap stack:
            aload 2 /* positions */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backPos:[I
            iload 9 /* idx */
            iaload
            invokevirtual org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray.get:(I)Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            astore 10 /* backPosData */
        start local 10 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position backPosData
        23: .line 119
            aload 0 /* this */
            iload 7 /* pos */
            iload 9 /* idx */
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            astore 11 /* toNodeID */
        start local 11 // java.lang.String toNodeID
        24: .line 120
            aload 0 /* this */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backPos:[I
            iload 9 /* idx */
            iaload
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backIndex:[I
            iload 9 /* idx */
            iaload
            invokevirtual org.apache.lucene.analysis.ja.GraphvizFormatter.getNodeID:(II)Ljava/lang/String;
            astore 12 /* fromNodeID */
        start local 12 // java.lang.String fromNodeID
        25: .line 122
            aload 6 /* sb */
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 123
            aload 6 /* sb */
            aload 12 /* fromNodeID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 124
            aload 6 /* sb */
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 125
            aload 6 /* sb */
            aload 11 /* toNodeID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 128
            aload 11 /* toNodeID */
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.bestPathMap:Ljava/util/Map;
            aload 12 /* fromNodeID */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 130
            ldc " color=\"#40e050\" fontcolor=\"#40a050\" penwidth=3 fontsize=20"
            astore 13 /* attrs */
        start local 13 // java.lang.String attrs
        31: .line 131
            goto 33
        end local 13 // java.lang.String attrs
        32: .line 132
      StackMap locals: org.apache.lucene.analysis.ja.JapaneseTokenizer$Position java.lang.String java.lang.String
      StackMap stack:
            ldc ""
            astore 13 /* attrs */
        start local 13 // java.lang.String attrs
        33: .line 135
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* tok */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backType:[Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Type;
            iload 9 /* idx */
            aaload
            invokevirtual org.apache.lucene.analysis.ja.JapaneseTokenizer.getDict:(Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Type;)Lorg/apache/lucene/analysis/ja/dict/Dictionary;
            astore 14 /* dict */
        start local 14 // org.apache.lucene.analysis.ja.dict.Dictionary dict
        34: .line 136
            aload 14 /* dict */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backID:[I
            iload 9 /* idx */
            iaload
            invokeinterface org.apache.lucene.analysis.ja.dict.Dictionary.getWordCost:(I)I
            istore 15 /* wordCost */
        start local 15 // int wordCost
        35: .line 137
            aload 0 /* this */
            getfield org.apache.lucene.analysis.ja.GraphvizFormatter.costs:Lorg/apache/lucene/analysis/ja/dict/ConnectionCosts;
            aload 10 /* backPosData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.lastRightID:[I
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backIndex:[I
            iload 9 /* idx */
            iaload
            iaload
        36: .line 138
            aload 14 /* dict */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backID:[I
            iload 9 /* idx */
            iaload
            invokeinterface org.apache.lucene.analysis.ja.dict.Dictionary.getLeftId:(I)I
        37: .line 137
            invokevirtual org.apache.lucene.analysis.ja.dict.ConnectionCosts.get:(II)I
            istore 16 /* bgCost */
        start local 16 // int bgCost
        38: .line 140
            new java.lang.String
            dup
            aload 5 /* fragment */
        39: .line 141
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backPos:[I
            iload 9 /* idx */
            iaload
            iload 3 /* startPos */
            isub
        40: .line 142
            iload 7 /* pos */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.backPos:[I
            iload 9 /* idx */
            iaload
            isub
        41: .line 140
            invokespecial java.lang.String.<init>:([CII)V
            astore 17 /* surfaceForm */
        start local 17 // java.lang.String surfaceForm
        42: .line 144
            aload 6 /* sb */
            ldc " [label=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 145
            aload 6 /* sb */
            aload 17 /* surfaceForm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 146
            aload 6 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 147
            aload 6 /* sb */
            iload 15 /* wordCost */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        46: .line 148
            iload 16 /* bgCost */
            iflt 48
        47: .line 149
            aload 6 /* sb */
            bipush 43
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        48: .line 151
      StackMap locals: org.apache.lucene.analysis.ja.GraphvizFormatter org.apache.lucene.analysis.ja.JapaneseTokenizer org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position char[] java.lang.StringBuilder int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position java.lang.String java.lang.String java.lang.String org.apache.lucene.analysis.ja.dict.Dictionary int int java.lang.String
      StackMap stack:
            aload 6 /* sb */
            iload 16 /* bgCost */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        49: .line 152
            aload 6 /* sb */
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 153
            aload 6 /* sb */
            aload 13 /* attrs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 154
            aload 6 /* sb */
            ldc "]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 17 // java.lang.String surfaceForm
        end local 16 // int bgCost
        end local 15 // int wordCost
        end local 14 // org.apache.lucene.analysis.ja.dict.Dictionary dict
        end local 13 // java.lang.String attrs
        end local 12 // java.lang.String fromNodeID
        end local 11 // java.lang.String toNodeID
        end local 10 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position backPosData
        52: .line 117
            iinc 9 /* idx */ 1
      StackMap locals: org.apache.lucene.analysis.ja.GraphvizFormatter org.apache.lucene.analysis.ja.JapaneseTokenizer org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position char[] java.lang.StringBuilder int org.apache.lucene.analysis.ja.JapaneseTokenizer$Position int
      StackMap stack:
        53: iload 9 /* idx */
            aload 8 /* posData */
            getfield org.apache.lucene.analysis.ja.JapaneseTokenizer$Position.count:I
            if_icmplt 22
        end local 9 // int idx
        end local 8 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position posData
        54: .line 115
            iinc 7 /* pos */ -1
      StackMap locals:
      StackMap stack:
        55: iload 7 /* pos */
            iload 3 /* startPos */
            if_icmpgt 19
        end local 7 // int pos
        56: .line 157
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder sb
        end local 5 // char[] fragment
        end local 4 // org.apache.lucene.analysis.ja.JapaneseTokenizer$Position endPosData
        end local 3 // int startPos
        end local 2 // org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray positions
        end local 1 // org.apache.lucene.analysis.ja.JapaneseTokenizer tok
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   57     0         this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            0   57     1          tok  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer;
            0   57     2    positions  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$WrappedPositionArray;
            0   57     3     startPos  I
            0   57     4   endPosData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            0   57     5     fragment  [C
            1   57     6           sb  Ljava/lang/StringBuilder;
            2   17     7          pos  I
            4   15     8      posData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
            5   15     9          idx  I
           18   56     7          pos  I
           20   54     8      posData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
           21   54     9          idx  I
           23   52    10  backPosData  Lorg/apache/lucene/analysis/ja/JapaneseTokenizer$Position;
           24   52    11     toNodeID  Ljava/lang/String;
           25   52    12   fromNodeID  Ljava/lang/String;
           31   32    13        attrs  Ljava/lang/String;
           33   52    13        attrs  Ljava/lang/String;
           34   52    14         dict  Lorg/apache/lucene/analysis/ja/dict/Dictionary;
           35   52    15     wordCost  I
           38   52    16       bgCost  I
           42   52    17  surfaceForm  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      tok         
      positions   
      startPos    
      endPosData  
      fragment    

  private java.lang.String formatHeader();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
         0: .line 161
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 162
            aload 1 /* sb */
            ldc "digraph viterbi {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 163
            aload 1 /* sb */
            ldc "  graph [ fontsize=30 labelloc=\"t\" label=\"\" splines=true overlap=false rankdir = \"LR\"];\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 168
            aload 1 /* sb */
            ldc "  edge [ fontname=\"Helvetica\" fontcolor=\"red\" color=\"#606060\" ]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 169
            aload 1 /* sb */
            ldc "  node [ style=\"filled\" fillcolor=\"#e8e8f0\" shape=\"Mrecord\" fontname=\"Helvetica\" ]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 171
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            1    6     1    sb  Ljava/lang/StringBuilder;

  private java.lang.String formatTrailer();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
         0: .line 175
            ldc "}"
            areturn
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;

  private java.lang.String getNodeID(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
        start local 1 // int pos
        start local 2 // int idx
         0: .line 179
            new java.lang.StringBuilder
            dup
            iload 1 /* pos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* idx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int idx
        end local 1 // int pos
        end local 0 // org.apache.lucene.analysis.ja.GraphvizFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/analysis/ja/GraphvizFormatter;
            0    1     1   pos  I
            0    1     2   idx  I
    MethodParameters:
      Name  Flags
      pos   
      idx   
}
SourceFile: "GraphvizFormatter.java"
InnerClasses:
  final Position = org.apache.lucene.analysis.ja.JapaneseTokenizer$Position of org.apache.lucene.analysis.ja.JapaneseTokenizer
  public final Type = org.apache.lucene.analysis.ja.JapaneseTokenizer$Type of org.apache.lucene.analysis.ja.JapaneseTokenizer
  final WrappedPositionArray = org.apache.lucene.analysis.ja.JapaneseTokenizer$WrappedPositionArray of org.apache.lucene.analysis.ja.JapaneseTokenizer