public class com.jayway.jsonpath.internal.CharacterIndex
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jayway.jsonpath.internal.CharacterIndex
  super_class: java.lang.Object
{
  private static final char OPEN_PARENTHESIS;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 40

  private static final char CLOSE_PARENTHESIS;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 41

  private static final char CLOSE_SQUARE_BRACKET;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 93

  private static final char SPACE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final char ESCAPE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 92

  private static final char SINGLE_QUOTE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 39

  private static final char DOUBLE_QUOTE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  private static final char MINUS;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 45

  private static final char PERIOD;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 46

  private static final char REGEX;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 47

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

  private int position;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int endPosition;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // java.lang.CharSequence charSequence
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 23
            aload 0 /* this */
            aload 1 /* charSequence */
            putfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
         2: .line 24
            aload 0 /* this */
            iconst_0
            putfield com.jayway.jsonpath.internal.CharacterIndex.position:I
         3: .line 25
            aload 0 /* this */
            aload 1 /* charSequence */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            isub
            putfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
         4: .line 26
            return
        end local 1 // java.lang.CharSequence charSequence
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    5     1  charSequence  Ljava/lang/CharSequence;
    MethodParameters:
              Name  Flags
      charSequence  

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 29
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            iconst_1
            iadd
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int idx
         0: .line 33
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            iload 1 /* idx */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            ireturn
        end local 1 // int idx
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  public char currentChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 37
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean currentCharIs(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 41
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            iload 1 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean lastCharIs(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 45
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            invokeinterface java.lang.CharSequence.charAt:(I)C
            iload 1 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean nextCharIs(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 49
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iconst_1
            iadd
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifeq 1
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            iload 1 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int incrementPosition(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int charCount
         0: .line 53
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iload 1 /* charCount */
            iadd
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
            ireturn
        end local 1 // int charCount
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1  charCount  I
    MethodParameters:
           Name  Flags
      charCount  

  public int decrementEndPosition(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int charCount
         0: .line 57
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            iload 1 /* charCount */
            isub
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setEndPosition:(I)I
            ireturn
        end local 1 // int charCount
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1  charCount  I
    MethodParameters:
           Name  Flags
      charCount  

  public int setPosition(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int newPosition
         0: .line 62
            aload 0 /* this */
            iload 1 /* newPosition */
            putfield com.jayway.jsonpath.internal.CharacterIndex.position:I
         1: .line 63
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            ireturn
        end local 1 // int newPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1  newPosition  I
    MethodParameters:
             Name  Flags
      newPosition  

  private int setEndPosition(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int newPosition
         0: .line 67
            aload 0 /* this */
            iload 1 /* newPosition */
            putfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
         1: .line 68
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            ireturn
        end local 1 // int newPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1  newPosition  I
    MethodParameters:
             Name  Flags
      newPosition  

  public int position();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 72
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public int indexOfClosingSquareBracket(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
         0: .line 76
            iload 1 /* startPosition */
            istore 2 /* readPosition */
        start local 2 // int readPosition
         1: .line 77
            goto 5
         2: .line 78
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 93
            if_icmpne 4
         3: .line 79
            iload 2 /* readPosition */
            ireturn
         4: .line 81
      StackMap locals:
      StackMap stack:
            iinc 2 /* readPosition */ 1
         5: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifne 2
         6: .line 83
            iconst_m1
            ireturn
        end local 2 // int readPosition
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1  startPosition  I
            1    7     2   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  

  public int indexOfMatchingCloseChar(int, char, char, boolean, boolean);
    descriptor: (ICCZZ)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // char openChar
        start local 3 // char closeChar
        start local 4 // boolean skipStrings
        start local 5 // boolean skipRegex
         0: .line 87
            aload 0 /* this */
            iload 1 /* startPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 2 /* openChar */
            if_icmpeq 2
         1: .line 88
            new com.jayway.jsonpath.InvalidPathException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* openChar */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " but found "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 1 /* startPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 91
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* opened */
        start local 6 // int opened
         3: .line 92
            iload 1 /* startPosition */
            iconst_1
            iadd
            istore 7 /* readPosition */
        start local 7 // int readPosition
         4: .line 93
            goto 25
         5: .line 94
      StackMap locals: int int
      StackMap stack:
            iload 4 /* skipStrings */
            ifeq 12
         6: .line 95
            aload 0 /* this */
            iload 7 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            istore 8 /* quoteChar */
        start local 8 // char quoteChar
         7: .line 96
            iload 8 /* quoteChar */
            bipush 39
            if_icmpeq 8
            iload 8 /* quoteChar */
            bipush 34
            if_icmpne 12
         8: .line 97
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* readPosition */
            iload 8 /* quoteChar */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOfUnescaped:(IC)I
            istore 7 /* readPosition */
         9: .line 98
            iload 7 /* readPosition */
            iconst_m1
            if_icmpne 11
        10: .line 99
            new com.jayway.jsonpath.InvalidPathException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find matching close quote for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* quoteChar */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " when parsing : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 101
      StackMap locals:
      StackMap stack:
            iinc 7 /* readPosition */ 1
        end local 8 // char quoteChar
        12: .line 104
      StackMap locals:
      StackMap stack:
            iload 5 /* skipRegex */
            ifeq 18
        13: .line 105
            aload 0 /* this */
            iload 7 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 47
            if_icmpne 18
        14: .line 106
            aload 0 /* this */
            iload 7 /* readPosition */
            bipush 47
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOfUnescaped:(IC)I
            istore 7 /* readPosition */
        15: .line 107
            iload 7 /* readPosition */
            iconst_m1
            if_icmpne 17
        16: .line 108
            new com.jayway.jsonpath.InvalidPathException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find matching close for / when parsing regex in : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 110
      StackMap locals:
      StackMap stack:
            iinc 7 /* readPosition */ 1
        18: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 2 /* openChar */
            if_icmpne 20
        19: .line 114
            iinc 6 /* opened */ 1
        20: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 3 /* closeChar */
            if_icmpne 24
        21: .line 117
            iinc 6 /* opened */ -1
        22: .line 118
            iload 6 /* opened */
            ifne 24
        23: .line 119
            iload 7 /* readPosition */
            ireturn
        24: .line 122
      StackMap locals:
      StackMap stack:
            iinc 7 /* readPosition */ 1
        25: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifne 5
        26: .line 124
            iconst_m1
            ireturn
        end local 7 // int readPosition
        end local 6 // int opened
        end local 5 // boolean skipRegex
        end local 4 // boolean skipStrings
        end local 3 // char closeChar
        end local 2 // char openChar
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0   27     1  startPosition  I
            0   27     2       openChar  C
            0   27     3      closeChar  C
            0   27     4    skipStrings  Z
            0   27     5      skipRegex  Z
            3   27     6         opened  I
            4   27     7   readPosition  I
            7   12     8      quoteChar  C
    MethodParameters:
               Name  Flags
      startPosition  
      openChar       
      closeChar      
      skipStrings    
      skipRegex      

  public int indexOfClosingBracket(int, boolean, boolean);
    descriptor: (IZZ)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // boolean skipStrings
        start local 3 // boolean skipRegex
         0: .line 128
            aload 0 /* this */
            iload 1 /* startPosition */
            bipush 40
            bipush 41
            iload 2 /* skipStrings */
            iload 3 /* skipRegex */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfMatchingCloseChar:(ICCZZ)I
            ireturn
        end local 3 // boolean skipRegex
        end local 2 // boolean skipStrings
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1  startPosition  I
            0    1     2    skipStrings  Z
            0    1     3      skipRegex  Z
    MethodParameters:
               Name  Flags
      startPosition  
      skipStrings    
      skipRegex      

  public int indexOfNextSignificantChar(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 132
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iload 1 /* c */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(IC)I
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int indexOfNextSignificantChar(int, char);
    descriptor: (IC)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // char c
         0: .line 136
            iload 1 /* startPosition */
            iconst_1
            iadd
            istore 3 /* readPosition */
        start local 3 // int readPosition
         1: .line 137
            goto 3
         2: .line 138
      StackMap locals: int
      StackMap stack:
            iinc 3 /* readPosition */ 1
         3: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 4
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 32
            if_icmpeq 2
         4: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 2 /* c */
            if_icmpne 6
         5: .line 141
            iload 3 /* readPosition */
            ireturn
         6: .line 143
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int readPosition
        end local 2 // char c
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1  startPosition  I
            0    7     2              c  C
            1    7     3   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  
      c              

  public int nextIndexOf(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 148
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iconst_1
            iadd
            iload 1 /* c */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOf:(IC)I
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int nextIndexOf(int, char);
    descriptor: (IC)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // char c
         0: .line 152
            iload 1 /* startPosition */
            istore 3 /* readPosition */
        start local 3 // int readPosition
         1: .line 153
            goto 5
         2: .line 154
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 2 /* c */
            if_icmpne 4
         3: .line 155
            iload 3 /* readPosition */
            ireturn
         4: .line 157
      StackMap locals:
      StackMap stack:
            iinc 3 /* readPosition */ 1
         5: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifeq 2
         6: .line 159
            iconst_m1
            ireturn
        end local 3 // int readPosition
        end local 2 // char c
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1  startPosition  I
            0    7     2              c  C
            1    7     3   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  
      c              

  public int nextIndexOfUnescaped(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iload 1 /* c */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOfUnescaped:(IC)I
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int nextIndexOfUnescaped(int, char);
    descriptor: (IC)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // char c
         0: .line 168
            iload 1 /* startPosition */
            iconst_1
            iadd
            istore 3 /* readPosition */
        start local 3 // int readPosition
         1: .line 169
            iconst_0
            istore 4 /* inEscape */
        start local 4 // boolean inEscape
         2: .line 170
            goto 12
         3: .line 171
      StackMap locals: int int
      StackMap stack:
            iload 4 /* inEscape */
            ifeq 6
         4: .line 172
            iconst_0
            istore 4 /* inEscape */
         5: .line 173
            goto 11
      StackMap locals:
      StackMap stack:
         6: bipush 92
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            if_icmpne 9
         7: .line 174
            iconst_1
            istore 4 /* inEscape */
         8: .line 175
            goto 11
      StackMap locals:
      StackMap stack:
         9: iload 2 /* c */
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            if_icmpne 11
        10: .line 176
            iload 3 /* readPosition */
            ireturn
        11: .line 178
      StackMap locals:
      StackMap stack:
            iinc 3 /* readPosition */ 1
        12: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifeq 3
        13: .line 180
            iconst_m1
            ireturn
        end local 4 // boolean inEscape
        end local 3 // int readPosition
        end local 2 // char c
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0   14     1  startPosition  I
            0   14     2              c  C
            1   14     3   readPosition  I
            2   14     4       inEscape  Z
    MethodParameters:
               Name  Flags
      startPosition  
      c              

  public char charAtOr(int, char);
    descriptor: (IC)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int postition
        start local 2 // char defaultChar
         0: .line 184
            aload 0 /* this */
            iload 1 /* postition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifne 1
            iload 2 /* defaultChar */
            ireturn
         1: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* postition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            ireturn
        end local 2 // char defaultChar
        end local 1 // int postition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1    postition  I
            0    2     2  defaultChar  C
    MethodParameters:
             Name  Flags
      postition    
      defaultChar  

  public boolean nextSignificantCharIs(int, char);
    descriptor: (IC)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
        start local 2 // char c
         0: .line 189
            iload 1 /* startPosition */
            iconst_1
            iadd
            istore 3 /* readPosition */
        start local 3 // int readPosition
         1: .line 190
            goto 3
         2: .line 191
      StackMap locals: int
      StackMap stack:
            iinc 3 /* readPosition */ 1
         3: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 4
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 32
            if_icmpeq 2
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 5
            aload 0 /* this */
            iload 3 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            iload 2 /* c */
            if_icmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 3 // int readPosition
        end local 2 // char c
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    6     1  startPosition  I
            0    6     2              c  C
            1    6     3   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  
      c              

  public boolean nextSignificantCharIs(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iload 1 /* c */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantCharIs:(IC)Z
            ireturn
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public char nextSignificantChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 201
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:(I)C
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public char nextSignificantChar(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
         0: .line 205
            iload 1 /* startPosition */
            iconst_1
            iadd
            istore 2 /* readPosition */
        start local 2 // int readPosition
         1: .line 206
            goto 3
         2: .line 207
      StackMap locals: int
      StackMap stack:
            iinc 2 /* readPosition */ 1
         3: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 4
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 32
            if_icmpeq 2
         4: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 6
         5: .line 210
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            ireturn
         6: .line 212
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
        end local 2 // int readPosition
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1  startPosition  I
            1    7     2   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  

  public void readSignificantChar(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // char c
         0: .line 217
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
            iload 1 /* c */
            if_icmpeq 2
         1: .line 218
            new com.jayway.jsonpath.InvalidPathException
            dup
            ldc "Expected character: %c"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* c */
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
            pop
         3: .line 221
            return
        end local 1 // char c
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    4     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean hasSignificantSubSequence(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // java.lang.CharSequence s
         0: .line 224
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
            pop
         1: .line 225
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            iadd
            iconst_1
            isub
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifne 3
         2: .line 226
            iconst_0
            ireturn
         3: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            iadd
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
            aload 1 /* s */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 229
            iconst_0
            ireturn
         5: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
            pop
         6: .line 233
            iconst_1
            ireturn
        end local 1 // java.lang.CharSequence s
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1     s  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      s     

  public int indexOfPreviousSignificantChar(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
         0: .line 237
            iload 1 /* startPosition */
            iconst_1
            isub
            istore 2 /* readPosition */
        start local 2 // int readPosition
         1: .line 238
            goto 3
         2: .line 239
      StackMap locals: int
      StackMap stack:
            iinc 2 /* readPosition */ -1
         3: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 4
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            bipush 32
            if_icmpeq 2
         4: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
            ifne 6
         5: .line 242
            iload 2 /* readPosition */
            ireturn
         6: .line 244
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int readPosition
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    7     1  startPosition  I
            1    7     2   readPosition  I
    MethodParameters:
               Name  Flags
      startPosition  

  public int indexOfPreviousSignificantChar();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 249
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfPreviousSignificantChar:(I)I
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public char previousSignificantChar(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int startPosition
         0: .line 253
            aload 0 /* this */
            iload 1 /* startPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfPreviousSignificantChar:(I)I
            istore 2 /* previousSignificantCharIndex */
        start local 2 // int previousSignificantCharIndex
         1: .line 254
            iload 2 /* previousSignificantCharIndex */
            iconst_m1
            if_icmpne 2
            bipush 32
            ireturn
         2: .line 255
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* previousSignificantCharIndex */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            ireturn
        end local 2 // int previousSignificantCharIndex
        end local 1 // int startPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    3     0                          this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    3     1                 startPosition  I
            1    3     2  previousSignificantCharIndex  I
    MethodParameters:
               Name  Flags
      startPosition  

  public char previousSignificantChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 259
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.previousSignificantChar:(I)C
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean currentIsTail();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 263
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean hasMoreCharacters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 267
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            iconst_1
            iadd
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean inBounds(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int idx
         0: .line 271
            iload 1 /* idx */
            iflt 1
            iload 1 /* idx */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int idx
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    2     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  public boolean inBounds();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 274
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ireturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean isOutOfBounds(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int idx
         0: .line 278
            aload 0 /* this */
            iload 1 /* idx */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int idx
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    3     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int start
        start local 2 // int end
         0: .line 282
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            iload 1 /* start */
            iload 2 /* end */
            invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public java.lang.CharSequence charSequence();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 286
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            areturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 291
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.charSequence:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public boolean isNumberCharacter(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
        start local 1 // int readPosition
         0: .line 295
            aload 0 /* this */
            iload 1 /* readPosition */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         1: .line 296
            iload 2 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 2
            iload 2 /* c */
            bipush 45
            if_icmpeq 2
            iload 2 /* c */
            bipush 46
            if_icmpeq 2
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // char c
        end local 1 // int readPosition
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/jayway/jsonpath/internal/CharacterIndex;
            0    3     1  readPosition  I
            1    3     2             c  C
    MethodParameters:
              Name  Flags
      readPosition  

  public com.jayway.jsonpath.internal.CharacterIndex skipBlanks();
    descriptor: ()Lcom/jayway/jsonpath/internal/CharacterIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 300
            goto 2
         1: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
            pop
         2: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
            ifeq 3
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            if_icmpge 3
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
            bipush 32
            if_icmpeq 1
         3: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  private com.jayway.jsonpath.internal.CharacterIndex skipBlanksAtEnd();
    descriptor: ()Lcom/jayway/jsonpath/internal/CharacterIndex;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 307
            goto 2
         1: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.decrementEndPosition:(I)I
            pop
         2: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
            ifeq 3
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.position:I
            aload 0 /* this */
            getfield com.jayway.jsonpath.internal.CharacterIndex.endPosition:I
            if_icmpge 3
            aload 0 /* this */
            bipush 32
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.lastCharIs:(C)Z
            ifne 1
         3: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;

  public com.jayway.jsonpath.internal.CharacterIndex trim();
    descriptor: ()Lcom/jayway/jsonpath/internal/CharacterIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.CharacterIndex this
         0: .line 314
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
            pop
         1: .line 315
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanksAtEnd:()Lcom/jayway/jsonpath/internal/CharacterIndex;
            pop
         2: .line 316
            aload 0 /* this */
            areturn
        end local 0 // com.jayway.jsonpath.internal.CharacterIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jayway/jsonpath/internal/CharacterIndex;
}
SourceFile: "CharacterIndex.java"