public class org.apache.lucene.analysis.TokenStreamToAutomaton
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.analysis.TokenStreamToAutomaton
  super_class: java.lang.Object
{
  private boolean preservePositionIncrements;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean finalOffsetGapAsHole;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean unicodeArcs;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static final int POS_SEP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  public static final int HOLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 30

  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 39
            ldc Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            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.TokenStreamToAutomaton.$assertionsDisabled:Z
         3: .line 98
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton.preservePositionIncrements:Z
         2: .line 48
            return
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;

  public void setPreservePositionIncrements(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
        start local 1 // boolean enablePositionIncrements
         0: .line 52
            aload 0 /* this */
            iload 1 /* enablePositionIncrements */
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton.preservePositionIncrements:Z
         1: .line 53
            return
        end local 1 // boolean enablePositionIncrements
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            0    2     1  enablePositionIncrements  Z
    MethodParameters:
                          Name  Flags
      enablePositionIncrements  

  public void setFinalOffsetGapAsHole(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
        start local 1 // boolean finalOffsetGapAsHole
         0: .line 57
            aload 0 /* this */
            iload 1 /* finalOffsetGapAsHole */
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton.finalOffsetGapAsHole:Z
         1: .line 58
            return
        end local 1 // boolean finalOffsetGapAsHole
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            0    2     1  finalOffsetGapAsHole  Z
    MethodParameters:
                      Name  Flags
      finalOffsetGapAsHole  

  public void setUnicodeArcs(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
        start local 1 // boolean unicodeArcs
         0: .line 63
            aload 0 /* this */
            iload 1 /* unicodeArcs */
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton.unicodeArcs:Z
         1: .line 64
            return
        end local 1 // boolean unicodeArcs
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            0    2     1  unicodeArcs  Z
    MethodParameters:
             Name  Flags
      unicodeArcs  

  protected org.apache.lucene.util.BytesRef changeToken(org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/util/BytesRef;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
        start local 1 // org.apache.lucene.util.BytesRef in
         0: .line 91
            aload 1 /* in */
            areturn
        end local 1 // org.apache.lucene.util.BytesRef in
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            0    1     1    in  Lorg/apache/lucene/util/BytesRef;
    MethodParameters:
      Name  Flags
      in    

  public org.apache.lucene.util.automaton.Automaton toAutomaton(org.apache.lucene.analysis.TokenStream);
    descriptor: (Lorg/apache/lucene/analysis/TokenStream;)Lorg/apache/lucene/util/automaton/Automaton;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=22, args_size=2
        start local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
        start local 1 // org.apache.lucene.analysis.TokenStream in
         0: .line 106
            new org.apache.lucene.util.automaton.Automaton$Builder
            dup
            invokespecial org.apache.lucene.util.automaton.Automaton$Builder.<init>:()V
            astore 2 /* builder */
        start local 2 // org.apache.lucene.util.automaton.Automaton$Builder builder
         1: .line 107
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            pop
         2: .line 109
            aload 1 /* in */
            ldc Lorg/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute;
            invokevirtual org.apache.lucene.analysis.TokenStream.addAttribute:(Ljava/lang/Class;)Lorg/apache/lucene/util/Attribute;
            checkcast org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute
            astore 3 /* termBytesAtt */
        start local 3 // org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute termBytesAtt
         3: .line 110
            aload 1 /* in */
            ldc Lorg/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute;
            invokevirtual org.apache.lucene.analysis.TokenStream.addAttribute:(Ljava/lang/Class;)Lorg/apache/lucene/util/Attribute;
            checkcast org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute
            astore 4 /* posIncAtt */
        start local 4 // org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute posIncAtt
         4: .line 111
            aload 1 /* in */
            ldc Lorg/apache/lucene/analysis/tokenattributes/PositionLengthAttribute;
            invokevirtual org.apache.lucene.analysis.TokenStream.addAttribute:(Ljava/lang/Class;)Lorg/apache/lucene/util/Attribute;
            checkcast org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute
            astore 5 /* posLengthAtt */
        start local 5 // org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute posLengthAtt
         5: .line 112
            aload 1 /* in */
            ldc Lorg/apache/lucene/analysis/tokenattributes/OffsetAttribute;
            invokevirtual org.apache.lucene.analysis.TokenStream.addAttribute:(Ljava/lang/Class;)Lorg/apache/lucene/util/Attribute;
            checkcast org.apache.lucene.analysis.tokenattributes.OffsetAttribute
            astore 6 /* offsetAtt */
        start local 6 // org.apache.lucene.analysis.tokenattributes.OffsetAttribute offsetAtt
         6: .line 114
            aload 1 /* in */
            invokevirtual org.apache.lucene.analysis.TokenStream.reset:()V
         7: .line 119
            new org.apache.lucene.analysis.TokenStreamToAutomaton$Positions
            dup
            invokespecial org.apache.lucene.analysis.TokenStreamToAutomaton$Positions.<init>:()V
            astore 7 /* positions */
        start local 7 // org.apache.lucene.util.RollingBuffer positions
         8: .line 121
            iconst_m1
            istore 8 /* pos */
        start local 8 // int pos
         9: .line 122
            iconst_0
            istore 9 /* freedPos */
        start local 9 // int freedPos
        10: .line 123
            aconst_null
            astore 10 /* posData */
        start local 10 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position posData
        11: .line 124
            iconst_0
            istore 11 /* maxOffset */
        start local 11 // int maxOffset
        12: .line 125
            goto 73
        13: .line 126
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton org.apache.lucene.analysis.TokenStream org.apache.lucene.util.automaton.Automaton$Builder org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute org.apache.lucene.analysis.tokenattributes.OffsetAttribute org.apache.lucene.util.RollingBuffer int int org.apache.lucene.analysis.TokenStreamToAutomaton$Position int
      StackMap stack:
            aload 4 /* posIncAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute.getPositionIncrement:()I
            istore 12 /* posInc */
        start local 12 // int posInc
        14: .line 127
            aload 0 /* this */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton.preservePositionIncrements:Z
            ifne 16
            iload 12 /* posInc */
            iconst_1
            if_icmple 16
        15: .line 128
            iconst_1
            istore 12 /* posInc */
        16: .line 130
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.analysis.TokenStreamToAutomaton.$assertionsDisabled:Z
            ifne 17
            iload 8 /* pos */
            iconst_m1
            if_icmpgt 17
            iload 12 /* posInc */
            ifgt 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 132
      StackMap locals:
      StackMap stack:
            iload 12 /* posInc */
            ifle 39
        18: .line 135
            iload 8 /* pos */
            iload 12 /* posInc */
            iadd
            istore 8 /* pos */
        19: .line 137
            aload 7 /* positions */
            iload 8 /* pos */
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 10 /* posData */
        20: .line 138
            getstatic org.apache.lucene.analysis.TokenStreamToAutomaton.$assertionsDisabled:Z
            ifne 21
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            iconst_m1
            if_icmpeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 140
      StackMap locals:
      StackMap stack:
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpne 28
        22: .line 142
            iload 8 /* pos */
            ifne 25
        23: .line 144
            aload 10 /* posData */
            iconst_0
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
        24: .line 145
            goto 38
        25: .line 148
      StackMap locals:
      StackMap stack:
            aload 10 /* posData */
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
        26: .line 149
            aload 2 /* builder */
            aload 7 /* positions */
            iload 8 /* pos */
            invokestatic org.apache.lucene.analysis.TokenStreamToAutomaton.addHoles:(Lorg/apache/lucene/util/automaton/Automaton$Builder;Lorg/apache/lucene/util/RollingBuffer;I)V
        27: .line 151
            goto 38
        28: .line 152
      StackMap locals:
      StackMap stack:
            aload 10 /* posData */
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
        29: .line 153
            aload 2 /* builder */
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            bipush 31
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        30: .line 154
            iload 12 /* posInc */
            iconst_1
            if_icmple 38
        31: .line 157
            aload 2 /* builder */
            aload 7 /* positions */
            iload 8 /* pos */
            invokestatic org.apache.lucene.analysis.TokenStreamToAutomaton.addHoles:(Lorg/apache/lucene/util/automaton/Automaton$Builder;Lorg/apache/lucene/util/RollingBuffer;I)V
        32: .line 160
            goto 38
        33: .line 161
      StackMap locals:
      StackMap stack:
            aload 7 /* positions */
            iload 9 /* freedPos */
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 13 /* freePosData */
        start local 13 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position freePosData
        34: .line 163
            aload 13 /* freePosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpeq 39
            aload 13 /* freePosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            iconst_m1
            if_icmpne 36
        35: .line 164
            goto 39
        36: .line 166
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton$Position
      StackMap stack:
            aload 7 /* positions */
            iload 9 /* freedPos */
            invokevirtual org.apache.lucene.util.RollingBuffer.freeBefore:(I)V
        37: .line 167
            iinc 9 /* freedPos */ 1
        end local 13 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position freePosData
        38: .line 160
      StackMap locals:
      StackMap stack:
            iload 9 /* freedPos */
            iload 8 /* pos */
            if_icmple 33
        39: .line 171
      StackMap locals:
      StackMap stack:
            iload 8 /* pos */
            aload 5 /* posLengthAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute.getPositionLength:()I
            iadd
            istore 13 /* endPos */
        start local 13 // int endPos
        40: .line 173
            aload 0 /* this */
            aload 3 /* termBytesAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute.getBytesRef:()Lorg/apache/lucene/util/BytesRef;
            invokevirtual org.apache.lucene.analysis.TokenStreamToAutomaton.changeToken:(Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/util/BytesRef;
            astore 14 /* termUTF8 */
        start local 14 // org.apache.lucene.util.BytesRef termUTF8
        41: .line 174
            aconst_null
            astore 15 /* termUnicode */
        start local 15 // int[] termUnicode
        42: .line 175
            aload 7 /* positions */
            iload 13 /* endPos */
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 16 /* endPosData */
        start local 16 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position endPosData
        43: .line 176
            aload 16 /* endPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpne 45
        44: .line 177
            aload 16 /* endPosData */
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
        45: .line 181
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton org.apache.lucene.analysis.TokenStream org.apache.lucene.util.automaton.Automaton$Builder org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute org.apache.lucene.analysis.tokenattributes.OffsetAttribute org.apache.lucene.util.RollingBuffer int int org.apache.lucene.analysis.TokenStreamToAutomaton$Position int int int org.apache.lucene.util.BytesRef int[] org.apache.lucene.analysis.TokenStreamToAutomaton$Position
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton.unicodeArcs:Z
            ifeq 57
        46: .line 182
            aload 14 /* termUTF8 */
            invokevirtual org.apache.lucene.util.BytesRef.utf8ToString:()Ljava/lang/String;
            astore 18 /* utf16 */
        start local 18 // java.lang.String utf16
        47: .line 183
            aload 18 /* utf16 */
            iconst_0
            aload 18 /* utf16 */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.codePointCount:(II)I
            newarray 10
            astore 15 /* termUnicode */
        48: .line 184
            aload 15 /* termUnicode */
            arraylength
            istore 17 /* termLen */
        start local 17 // int termLen
        49: .line 185
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        50: iconst_0
            istore 21 /* j */
        start local 21 // int j
        51: goto 55
        52: .line 186
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton org.apache.lucene.analysis.TokenStream org.apache.lucene.util.automaton.Automaton$Builder org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute org.apache.lucene.analysis.tokenattributes.OffsetAttribute org.apache.lucene.util.RollingBuffer int int org.apache.lucene.analysis.TokenStreamToAutomaton$Position int int int org.apache.lucene.util.BytesRef int[] org.apache.lucene.analysis.TokenStreamToAutomaton$Position int java.lang.String top int int
      StackMap stack:
            aload 15 /* termUnicode */
            iload 21 /* j */
            iinc 21 /* j */ 1
            aload 18 /* utf16 */
            iload 20 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            dup
            istore 19 /* cp */
        start local 19 // int cp
        53: iastore
        54: .line 185
            iload 20 /* i */
            iload 19 /* cp */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 20 /* i */
        end local 19 // int cp
      StackMap locals:
      StackMap stack:
        55: iload 20 /* i */
            aload 18 /* utf16 */
            invokevirtual java.lang.String.length:()I
            if_icmplt 52
        end local 21 // int j
        end local 20 // int i
        end local 18 // java.lang.String utf16
        56: .line 188
            goto 58
        end local 17 // int termLen
        57: .line 189
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton org.apache.lucene.analysis.TokenStream org.apache.lucene.util.automaton.Automaton$Builder org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute org.apache.lucene.analysis.tokenattributes.OffsetAttribute org.apache.lucene.util.RollingBuffer int int org.apache.lucene.analysis.TokenStreamToAutomaton$Position int int int org.apache.lucene.util.BytesRef int[] org.apache.lucene.analysis.TokenStreamToAutomaton$Position
      StackMap stack:
            aload 14 /* termUTF8 */
            getfield org.apache.lucene.util.BytesRef.length:I
            istore 17 /* termLen */
        start local 17 // int termLen
        58: .line 192
      StackMap locals: int
      StackMap stack:
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            istore 18 /* state */
        start local 18 // int state
        59: .line 194
            iconst_0
            istore 19 /* byteIDX */
        start local 19 // int byteIDX
        60: goto 71
        61: .line 195
      StackMap locals: int int
      StackMap stack:
            iload 19 /* byteIDX */
            iload 17 /* termLen */
            iconst_1
            isub
            if_icmpne 62
            aload 16 /* endPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            goto 63
      StackMap locals:
      StackMap stack:
        62: aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
      StackMap locals:
      StackMap stack: int
        63: istore 20 /* nextState */
        start local 20 // int nextState
        64: .line 197
            aload 0 /* this */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton.unicodeArcs:Z
            ifeq 67
        65: .line 198
            aload 15 /* termUnicode */
            iload 19 /* byteIDX */
            iaload
            istore 21 /* c */
        start local 21 // int c
        66: .line 199
            goto 68
        end local 21 // int c
        67: .line 200
      StackMap locals: int
      StackMap stack:
            aload 14 /* termUTF8 */
            getfield org.apache.lucene.util.BytesRef.bytes:[B
            aload 14 /* termUTF8 */
            getfield org.apache.lucene.util.BytesRef.offset:I
            iload 19 /* byteIDX */
            iadd
            baload
            sipush 255
            iand
            istore 21 /* c */
        start local 21 // int c
        68: .line 202
      StackMap locals: int
      StackMap stack:
            aload 2 /* builder */
            iload 18 /* state */
            iload 20 /* nextState */
            iload 21 /* c */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        69: .line 203
            iload 20 /* nextState */
            istore 18 /* state */
        end local 21 // int c
        end local 20 // int nextState
        70: .line 194
            iinc 19 /* byteIDX */ 1
      StackMap locals:
      StackMap stack:
        71: iload 19 /* byteIDX */
            iload 17 /* termLen */
            if_icmplt 61
        end local 19 // int byteIDX
        72: .line 206
            iload 11 /* maxOffset */
            aload 6 /* offsetAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.OffsetAttribute.endOffset:()I
            invokestatic java.lang.Math.max:(II)I
            istore 11 /* maxOffset */
        end local 18 // int state
        end local 17 // int termLen
        end local 16 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position endPosData
        end local 15 // int[] termUnicode
        end local 14 // org.apache.lucene.util.BytesRef termUTF8
        end local 13 // int endPos
        end local 12 // int posInc
        73: .line 125
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton org.apache.lucene.analysis.TokenStream org.apache.lucene.util.automaton.Automaton$Builder org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute org.apache.lucene.analysis.tokenattributes.OffsetAttribute org.apache.lucene.util.RollingBuffer int int org.apache.lucene.analysis.TokenStreamToAutomaton$Position int
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.lucene.analysis.TokenStream.incrementToken:()Z
            ifne 13
        74: .line 209
            aload 1 /* in */
            invokevirtual org.apache.lucene.analysis.TokenStream.end:()V
        75: .line 211
            aload 4 /* posIncAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute.getPositionIncrement:()I
            istore 12 /* endPosInc */
        start local 12 // int endPosInc
        76: .line 212
            iload 12 /* endPosInc */
            ifne 79
            aload 0 /* this */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton.finalOffsetGapAsHole:Z
            ifeq 79
            aload 6 /* offsetAtt */
            invokeinterface org.apache.lucene.analysis.tokenattributes.OffsetAttribute.endOffset:()I
            iload 11 /* maxOffset */
            if_icmple 79
        77: .line 213
            iconst_1
            istore 12 /* endPosInc */
        78: .line 214
            goto 81
      StackMap locals: int
      StackMap stack:
        79: iload 12 /* endPosInc */
            ifle 81
            aload 0 /* this */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton.preservePositionIncrements:Z
            ifne 81
        80: .line 215
            iconst_0
            istore 12 /* endPosInc */
        81: .line 219
      StackMap locals:
      StackMap stack:
            iload 12 /* endPosInc */
            ifle 94
        82: .line 221
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            istore 13 /* endState */
        start local 13 // int endState
        83: .line 224
            iload 13 /* endState */
            istore 14 /* lastState */
        start local 14 // int lastState
        84: .line 226
      StackMap locals: int int
      StackMap stack:
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            istore 15 /* state1 */
        start local 15 // int state1
        85: .line 227
            aload 2 /* builder */
            iload 14 /* lastState */
            iload 15 /* state1 */
            bipush 30
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        86: .line 228
            iinc 12 /* endPosInc */ -1
        87: .line 229
            iload 12 /* endPosInc */
            ifne 90
        88: .line 230
            aload 2 /* builder */
            iload 15 /* state1 */
            iconst_1
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.setAccept:(IZ)V
        89: .line 231
            goto 95
        90: .line 233
      StackMap locals: int
      StackMap stack:
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            istore 16 /* state2 */
        start local 16 // int state2
        91: .line 234
            aload 2 /* builder */
            iload 15 /* state1 */
            iload 16 /* state2 */
            bipush 31
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        92: .line 235
            iload 16 /* state2 */
            istore 14 /* lastState */
        end local 16 // int state2
        end local 15 // int state1
        93: .line 225
            goto 84
        end local 14 // int lastState
        end local 13 // int endState
        94: .line 238
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 13 /* endState */
        start local 13 // int endState
        95: .line 241
      StackMap locals: int
      StackMap stack:
            iinc 8 /* pos */ 1
        96: .line 242
            goto 104
        97: .line 243
      StackMap locals:
      StackMap stack:
            aload 7 /* positions */
            iload 8 /* pos */
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 10 /* posData */
        98: .line 244
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpeq 103
        99: .line 245
            iload 13 /* endState */
            iconst_m1
            if_icmpeq 102
       100: .line 246
            aload 2 /* builder */
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iload 13 /* endState */
            bipush 31
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
       101: .line 247
            goto 103
       102: .line 248
      StackMap locals:
      StackMap stack:
            aload 2 /* builder */
            aload 10 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_1
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.setAccept:(IZ)V
       103: .line 251
      StackMap locals:
      StackMap stack:
            iinc 8 /* pos */ 1
       104: .line 242
      StackMap locals:
      StackMap stack:
            iload 8 /* pos */
            aload 7 /* positions */
            invokevirtual org.apache.lucene.util.RollingBuffer.getMaxPos:()I
            if_icmple 97
       105: .line 254
            aload 2 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.finish:()Lorg/apache/lucene/util/automaton/Automaton;
            areturn
        end local 13 // int endState
        end local 12 // int endPosInc
        end local 11 // int maxOffset
        end local 10 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position posData
        end local 9 // int freedPos
        end local 8 // int pos
        end local 7 // org.apache.lucene.util.RollingBuffer positions
        end local 6 // org.apache.lucene.analysis.tokenattributes.OffsetAttribute offsetAtt
        end local 5 // org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute posLengthAtt
        end local 4 // org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute posIncAtt
        end local 3 // org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute termBytesAtt
        end local 2 // org.apache.lucene.util.automaton.Automaton$Builder builder
        end local 1 // org.apache.lucene.analysis.TokenStream in
        end local 0 // org.apache.lucene.analysis.TokenStreamToAutomaton this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  106     0          this  Lorg/apache/lucene/analysis/TokenStreamToAutomaton;
            0  106     1            in  Lorg/apache/lucene/analysis/TokenStream;
            1  106     2       builder  Lorg/apache/lucene/util/automaton/Automaton$Builder;
            3  106     3  termBytesAtt  Lorg/apache/lucene/analysis/tokenattributes/TermToBytesRefAttribute;
            4  106     4     posIncAtt  Lorg/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute;
            5  106     5  posLengthAtt  Lorg/apache/lucene/analysis/tokenattributes/PositionLengthAttribute;
            6  106     6     offsetAtt  Lorg/apache/lucene/analysis/tokenattributes/OffsetAttribute;
            8  106     7     positions  Lorg/apache/lucene/util/RollingBuffer<Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;>;
            9  106     8           pos  I
           10  106     9      freedPos  I
           11  106    10       posData  Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;
           12  106    11     maxOffset  I
           14   73    12        posInc  I
           34   38    13   freePosData  Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;
           40   73    13        endPos  I
           41   73    14      termUTF8  Lorg/apache/lucene/util/BytesRef;
           42   73    15   termUnicode  [I
           43   73    16    endPosData  Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;
           49   57    17       termLen  I
           58   73    17       termLen  I
           47   56    18         utf16  Ljava/lang/String;
           53   55    19            cp  I
           50   56    20             i  I
           51   56    21             j  I
           59   73    18         state  I
           60   72    19       byteIDX  I
           64   70    20     nextState  I
           66   67    21             c  I
           68   70    21             c  I
           76  106    12     endPosInc  I
           83   94    13      endState  I
           95  106    13      endState  I
           84   94    14     lastState  I
           85   93    15        state1  I
           91   93    16        state2  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private static void addHoles(org.apache.lucene.util.automaton.Automaton$Builder, org.apache.lucene.util.RollingBuffer<org.apache.lucene.analysis.TokenStreamToAutomaton$Position>, );
    descriptor: (Lorg/apache/lucene/util/automaton/Automaton$Builder;Lorg/apache/lucene/util/RollingBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.lucene.util.automaton.Automaton$Builder builder
        start local 1 // org.apache.lucene.util.RollingBuffer positions
        start local 2 // int pos
         0: .line 269
            aload 1 /* positions */
            iload 2 /* pos */
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 3 /* posData */
        start local 3 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position posData
         1: .line 270
            aload 1 /* positions */
            iload 2 /* pos */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 4 /* prevPosData */
        start local 4 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position prevPosData
         2: .line 272
            goto 19
         3: .line 273
      StackMap locals: org.apache.lucene.analysis.TokenStreamToAutomaton$Position org.apache.lucene.analysis.TokenStreamToAutomaton$Position
      StackMap stack:
            aload 3 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpne 6
         4: .line 274
            aload 3 /* posData */
            aload 0 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
         5: .line 275
            aload 0 /* builder */
            aload 3 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            aload 3 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            bipush 31
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
         6: .line 277
      StackMap locals:
      StackMap stack:
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            iconst_m1
            if_icmpne 13
         7: .line 278
            iload 2 /* pos */
            iconst_1
            if_icmpne 10
         8: .line 279
            aload 4 /* prevPosData */
            iconst_0
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
         9: .line 280
            goto 11
        10: .line 281
      StackMap locals:
      StackMap stack:
            aload 4 /* prevPosData */
            aload 0 /* builder */
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.createState:()I
            putfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
        11: .line 283
      StackMap locals:
      StackMap stack:
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpeq 13
        12: .line 284
            aload 0 /* builder */
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            bipush 31
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        13: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* builder */
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            aload 3 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            bipush 30
            invokevirtual org.apache.lucene.util.automaton.Automaton$Builder.addTransition:(III)V
        14: .line 288
            iinc 2 /* pos */ -1
        15: .line 289
            iload 2 /* pos */
            ifgt 17
        16: .line 290
            goto 20
        17: .line 292
      StackMap locals:
      StackMap stack:
            aload 4 /* prevPosData */
            astore 3 /* posData */
        18: .line 293
            aload 1 /* positions */
            iload 2 /* pos */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.RollingBuffer.get:(I)Lorg/apache/lucene/util/RollingBuffer$Resettable;
            checkcast org.apache.lucene.analysis.TokenStreamToAutomaton$Position
            astore 4 /* prevPosData */
        19: .line 272
      StackMap locals:
      StackMap stack:
            aload 3 /* posData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.arriving:I
            iconst_m1
            if_icmpeq 3
            aload 4 /* prevPosData */
            getfield org.apache.lucene.analysis.TokenStreamToAutomaton$Position.leaving:I
            iconst_m1
            if_icmpeq 3
        20: .line 295
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position prevPosData
        end local 3 // org.apache.lucene.analysis.TokenStreamToAutomaton$Position posData
        end local 2 // int pos
        end local 1 // org.apache.lucene.util.RollingBuffer positions
        end local 0 // org.apache.lucene.util.automaton.Automaton$Builder builder
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0      builder  Lorg/apache/lucene/util/automaton/Automaton$Builder;
            0   21     1    positions  Lorg/apache/lucene/util/RollingBuffer<Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;>;
            0   21     2          pos  I
            1   21     3      posData  Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;
            2   21     4  prevPosData  Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;
    Signature: (Lorg/apache/lucene/util/automaton/Automaton$Builder;Lorg/apache/lucene/util/RollingBuffer<Lorg/apache/lucene/analysis/TokenStreamToAutomaton$Position;>;I)V
    MethodParameters:
           Name  Flags
      builder    
      positions  
      pos        
}
SourceFile: "TokenStreamToAutomaton.java"
NestMembers:
  org.apache.lucene.analysis.TokenStreamToAutomaton$Position  org.apache.lucene.analysis.TokenStreamToAutomaton$Positions
InnerClasses:
  private Position = org.apache.lucene.analysis.TokenStreamToAutomaton$Position of org.apache.lucene.analysis.TokenStreamToAutomaton
  private Positions = org.apache.lucene.analysis.TokenStreamToAutomaton$Positions of org.apache.lucene.analysis.TokenStreamToAutomaton
  public abstract Resettable = org.apache.lucene.util.RollingBuffer$Resettable of org.apache.lucene.util.RollingBuffer
  public Builder = org.apache.lucene.util.automaton.Automaton$Builder of org.apache.lucene.util.automaton.Automaton