public class com.jayway.jsonpath.internal.path.ScanPathToken extends com.jayway.jsonpath.internal.path.PathToken
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jayway.jsonpath.internal.path.ScanPathToken
  super_class: com.jayway.jsonpath.internal.path.PathToken
{
  private static final com.jayway.jsonpath.internal.path.ScanPathToken$Predicate FALSE_PREDICATE;
    descriptor: Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 118
            new com.jayway.jsonpath.internal.path.ScanPathToken$1
            dup
            invokespecial com.jayway.jsonpath.internal.path.ScanPathToken$1.<init>:()V
            putstatic com.jayway.jsonpath.internal.path.ScanPathToken.FALSE_PREDICATE:Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
         1: .line 124
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
         0: .line 28
            aload 0 /* this */
            invokespecial com.jayway.jsonpath.internal.path.PathToken.<init>:()V
         1: .line 29
            return
        end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jayway/jsonpath/internal/path/ScanPathToken;

  public void evaluate(java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
    descriptor: (Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
        start local 1 // java.lang.String currentPath
        start local 2 // com.jayway.jsonpath.internal.PathRef parent
        start local 3 // java.lang.Object model
        start local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
         0: .line 34
            aload 0 /* this */
            invokevirtual com.jayway.jsonpath.internal.path.ScanPathToken.next:()Lcom/jayway/jsonpath/internal/path/PathToken;
            astore 5 /* pt */
        start local 5 // com.jayway.jsonpath.internal.path.PathToken pt
         1: .line 36
            aload 5 /* pt */
            aload 1 /* currentPath */
            aload 2 /* parent */
            aload 3 /* model */
            aload 4 /* ctx */
            aload 5 /* pt */
            aload 4 /* ctx */
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.createScanPredicate:(Lcom/jayway/jsonpath/internal/path/PathToken;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.walk:(Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
         2: .line 37
            return
        end local 5 // com.jayway.jsonpath.internal.path.PathToken pt
        end local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        end local 3 // java.lang.Object model
        end local 2 // com.jayway.jsonpath.internal.PathRef parent
        end local 1 // java.lang.String currentPath
        end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/jayway/jsonpath/internal/path/ScanPathToken;
            0    3     1  currentPath  Ljava/lang/String;
            0    3     2       parent  Lcom/jayway/jsonpath/internal/PathRef;
            0    3     3        model  Ljava/lang/Object;
            0    3     4          ctx  Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
            1    3     5           pt  Lcom/jayway/jsonpath/internal/path/PathToken;
    MethodParameters:
             Name  Flags
      currentPath  
      parent       
      model        
      ctx          

  public static void walk(com.jayway.jsonpath.internal.path.PathToken, java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl, com.jayway.jsonpath.internal.path.ScanPathToken$Predicate);
    descriptor: (Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.jayway.jsonpath.internal.path.PathToken pt
        start local 1 // java.lang.String currentPath
        start local 2 // com.jayway.jsonpath.internal.PathRef parent
        start local 3 // java.lang.Object model
        start local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        start local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
         0: .line 40
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.isMap:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 41
            aload 0 /* pt */
            aload 1 /* currentPath */
            aload 2 /* parent */
            aload 3 /* model */
            aload 4 /* ctx */
            aload 5 /* predicate */
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.walkObject:(Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
         2: .line 42
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.isArray:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 43
            aload 0 /* pt */
            aload 1 /* currentPath */
            aload 2 /* parent */
            aload 3 /* model */
            aload 4 /* ctx */
            aload 5 /* predicate */
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.walkArray:(Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
         5: .line 45
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
        end local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        end local 3 // java.lang.Object model
        end local 2 // com.jayway.jsonpath.internal.PathRef parent
        end local 1 // java.lang.String currentPath
        end local 0 // com.jayway.jsonpath.internal.path.PathToken pt
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0           pt  Lcom/jayway/jsonpath/internal/path/PathToken;
            0    6     1  currentPath  Ljava/lang/String;
            0    6     2       parent  Lcom/jayway/jsonpath/internal/PathRef;
            0    6     3        model  Ljava/lang/Object;
            0    6     4          ctx  Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
            0    6     5    predicate  Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
    MethodParameters:
             Name  Flags
      pt           
      currentPath  
      parent       
      model        
      ctx          
      predicate    

  public static void walkArray(com.jayway.jsonpath.internal.path.PathToken, java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl, com.jayway.jsonpath.internal.path.ScanPathToken$Predicate);
    descriptor: (Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=6
        start local 0 // com.jayway.jsonpath.internal.path.PathToken pt
        start local 1 // java.lang.String currentPath
        start local 2 // com.jayway.jsonpath.internal.PathRef parent
        start local 3 // java.lang.Object model
        start local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        start local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
         0: .line 49
            aload 5 /* predicate */
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.internal.path.ScanPathToken$Predicate.matches:(Ljava/lang/Object;)Z
            ifeq 13
         1: .line 50
            aload 0 /* pt */
            invokevirtual com.jayway.jsonpath.internal.path.PathToken.isLeaf:()Z
            ifeq 4
         2: .line 51
            aload 0 /* pt */
            aload 1 /* currentPath */
            aload 2 /* parent */
            aload 3 /* model */
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.PathToken.evaluate:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
         3: .line 52
            goto 13
         4: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* pt */
            invokevirtual com.jayway.jsonpath.internal.path.PathToken.next:()Lcom/jayway/jsonpath/internal/path/PathToken;
            astore 6 /* next */
        start local 6 // com.jayway.jsonpath.internal.path.PathToken next
         5: .line 54
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.toIterable:(Ljava/lang/Object;)Ljava/lang/Iterable;
            astore 7 /* models */
        start local 7 // java.lang.Iterable models
         6: .line 55
            iconst_0
            istore 8 /* idx */
        start local 8 // int idx
         7: .line 56
            aload 7 /* models */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 10
            goto 12
      StackMap locals: com.jayway.jsonpath.internal.path.PathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl com.jayway.jsonpath.internal.path.ScanPathToken$Predicate com.jayway.jsonpath.internal.path.PathToken java.lang.Iterable int top java.util.Iterator
      StackMap stack:
         8: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* evalModel */
        start local 9 // java.lang.Object evalModel
         9: .line 57
            new java.lang.StringBuilder
            dup
            aload 1 /* currentPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* idx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* evalPath */
        start local 11 // java.lang.String evalPath
        10: .line 58
            aload 6 /* next */
            aload 11 /* evalPath */
            aload 2 /* parent */
            aload 9 /* evalModel */
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.PathToken.evaluate:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
        11: .line 59
            iinc 8 /* idx */ 1
        end local 11 // java.lang.String evalPath
        end local 9 // java.lang.Object evalModel
        12: .line 56
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 8 // int idx
        end local 7 // java.lang.Iterable models
        end local 6 // com.jayway.jsonpath.internal.path.PathToken next
        13: .line 64
      StackMap locals: com.jayway.jsonpath.internal.path.PathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl com.jayway.jsonpath.internal.path.ScanPathToken$Predicate
      StackMap stack:
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.toIterable:(Ljava/lang/Object;)Ljava/lang/Iterable;
            astore 6 /* models */
        start local 6 // java.lang.Iterable models
        14: .line 65
            iconst_0
            istore 7 /* idx */
        start local 7 // int idx
        15: .line 66
            aload 6 /* models */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 20
      StackMap locals: com.jayway.jsonpath.internal.path.PathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl com.jayway.jsonpath.internal.path.ScanPathToken$Predicate java.lang.Iterable int top java.util.Iterator
      StackMap stack:
        16: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* evalModel */
        start local 8 // java.lang.Object evalModel
        17: .line 67
            new java.lang.StringBuilder
            dup
            aload 1 /* currentPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* idx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* evalPath */
        start local 10 // java.lang.String evalPath
        18: .line 68
            aload 0 /* pt */
            aload 10 /* evalPath */
            aload 3 /* model */
            iload 7 /* idx */
            invokestatic com.jayway.jsonpath.internal.PathRef.create:(Ljava/lang/Object;I)Lcom/jayway/jsonpath/internal/PathRef;
            aload 8 /* evalModel */
            aload 4 /* ctx */
            aload 5 /* predicate */
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.walk:(Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
        19: .line 69
            iinc 7 /* idx */ 1
        end local 10 // java.lang.String evalPath
        end local 8 // java.lang.Object evalModel
        20: .line 66
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        21: .line 71
            return
        end local 7 // int idx
        end local 6 // java.lang.Iterable models
        end local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
        end local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        end local 3 // java.lang.Object model
        end local 2 // com.jayway.jsonpath.internal.PathRef parent
        end local 1 // java.lang.String currentPath
        end local 0 // com.jayway.jsonpath.internal.path.PathToken pt
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0           pt  Lcom/jayway/jsonpath/internal/path/PathToken;
            0   22     1  currentPath  Ljava/lang/String;
            0   22     2       parent  Lcom/jayway/jsonpath/internal/PathRef;
            0   22     3        model  Ljava/lang/Object;
            0   22     4          ctx  Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
            0   22     5    predicate  Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
            5   13     6         next  Lcom/jayway/jsonpath/internal/path/PathToken;
            6   13     7       models  Ljava/lang/Iterable<*>;
            7   13     8          idx  I
            9   12     9    evalModel  Ljava/lang/Object;
           10   12    11     evalPath  Ljava/lang/String;
           14   22     6       models  Ljava/lang/Iterable<*>;
           15   22     7          idx  I
           17   20     8    evalModel  Ljava/lang/Object;
           18   20    10     evalPath  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      pt           
      currentPath  
      parent       
      model        
      ctx          
      predicate    

  public static void walkObject(com.jayway.jsonpath.internal.path.PathToken, java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl, com.jayway.jsonpath.internal.path.ScanPathToken$Predicate);
    descriptor: (Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // com.jayway.jsonpath.internal.path.PathToken pt
        start local 1 // java.lang.String currentPath
        start local 2 // com.jayway.jsonpath.internal.PathRef parent
        start local 3 // java.lang.Object model
        start local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        start local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
         0: .line 75
            aload 5 /* predicate */
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.internal.path.ScanPathToken$Predicate.matches:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 76
            aload 0 /* pt */
            aload 1 /* currentPath */
            aload 2 /* parent */
            aload 3 /* model */
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.PathToken.evaluate:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.getPropertyKeys:(Ljava/lang/Object;)Ljava/util/Collection;
            astore 6 /* properties */
        start local 6 // java.util.Collection properties
         3: .line 80
            aload 6 /* properties */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: com.jayway.jsonpath.internal.path.PathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl com.jayway.jsonpath.internal.path.ScanPathToken$Predicate java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* property */
        start local 7 // java.lang.String property
         5: .line 81
            new java.lang.StringBuilder
            dup
            aload 1 /* currentPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "['"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "']"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* evalPath */
        start local 9 // java.lang.String evalPath
         6: .line 82
            aload 4 /* ctx */
            invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
            aload 3 /* model */
            aload 7 /* property */
            invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.getMapValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 10 /* propertyModel */
        start local 10 // java.lang.Object propertyModel
         7: .line 83
            aload 10 /* propertyModel */
            getstatic com.jayway.jsonpath.spi.json.JsonProvider.UNDEFINED:Ljava/lang/Object;
            if_acmpeq 9
         8: .line 84
            aload 0 /* pt */
            aload 9 /* evalPath */
            aload 3 /* model */
            aload 7 /* property */
            invokestatic com.jayway.jsonpath.internal.PathRef.create:(Ljava/lang/Object;Ljava/lang/String;)Lcom/jayway/jsonpath/internal/PathRef;
            aload 10 /* propertyModel */
            aload 4 /* ctx */
            aload 5 /* predicate */
            invokestatic com.jayway.jsonpath.internal.path.ScanPathToken.walk:(Lcom/jayway/jsonpath/internal/path/PathToken;Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;)V
        end local 10 // java.lang.Object propertyModel
        end local 9 // java.lang.String evalPath
        end local 7 // java.lang.String property
         9: .line 80
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 87
            return
        end local 6 // java.util.Collection properties
        end local 5 // com.jayway.jsonpath.internal.path.ScanPathToken$Predicate predicate
        end local 4 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        end local 3 // java.lang.Object model
        end local 2 // com.jayway.jsonpath.internal.PathRef parent
        end local 1 // java.lang.String currentPath
        end local 0 // com.jayway.jsonpath.internal.path.PathToken pt
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0             pt  Lcom/jayway/jsonpath/internal/path/PathToken;
            0   11     1    currentPath  Ljava/lang/String;
            0   11     2         parent  Lcom/jayway/jsonpath/internal/PathRef;
            0   11     3          model  Ljava/lang/Object;
            0   11     4            ctx  Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
            0   11     5      predicate  Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
            3   11     6     properties  Ljava/util/Collection<Ljava/lang/String;>;
            5    9     7       property  Ljava/lang/String;
            6    9     9       evalPath  Ljava/lang/String;
            7    9    10  propertyModel  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      pt           
      currentPath  
      parent       
      model        
      ctx          
      predicate    

  private static com.jayway.jsonpath.internal.path.ScanPathToken$Predicate createScanPredicate(com.jayway.jsonpath.internal.path.PathToken, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
    descriptor: (Lcom/jayway/jsonpath/internal/path/PathToken;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.jayway.jsonpath.internal.path.PathToken target
        start local 1 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
         0: .line 90
            aload 0 /* target */
            instanceof com.jayway.jsonpath.internal.path.PropertyPathToken
            ifeq 2
         1: .line 91
            new com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate
            dup
            aload 0 /* target */
            aload 1 /* ctx */
            invokespecial com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.<init>:(Lcom/jayway/jsonpath/internal/path/PathToken;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
            areturn
         2: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            instanceof com.jayway.jsonpath.internal.path.ArrayPathToken
            ifeq 4
         3: .line 93
            new com.jayway.jsonpath.internal.path.ScanPathToken$ArrayPathTokenPredicate
            dup
            aload 1 /* ctx */
            invokespecial com.jayway.jsonpath.internal.path.ScanPathToken$ArrayPathTokenPredicate.<init>:(Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
            areturn
         4: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            instanceof com.jayway.jsonpath.internal.path.WildcardPathToken
            ifeq 6
         5: .line 95
            new com.jayway.jsonpath.internal.path.ScanPathToken$WildcardPathTokenPredicate
            dup
            invokespecial com.jayway.jsonpath.internal.path.ScanPathToken$WildcardPathTokenPredicate.<init>:()V
            areturn
         6: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            instanceof com.jayway.jsonpath.internal.path.PredicatePathToken
            ifeq 8
         7: .line 97
            new com.jayway.jsonpath.internal.path.ScanPathToken$FilterPathTokenPredicate
            dup
            aload 0 /* target */
            aload 1 /* ctx */
            invokespecial com.jayway.jsonpath.internal.path.ScanPathToken$FilterPathTokenPredicate.<init>:(Lcom/jayway/jsonpath/internal/path/PathToken;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
            areturn
         8: .line 99
      StackMap locals:
      StackMap stack:
            getstatic com.jayway.jsonpath.internal.path.ScanPathToken.FALSE_PREDICATE:Lcom/jayway/jsonpath/internal/path/ScanPathToken$Predicate;
            areturn
        end local 1 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
        end local 0 // com.jayway.jsonpath.internal.path.PathToken target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  target  Lcom/jayway/jsonpath/internal/path/PathToken;
            0    9     1     ctx  Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
    MethodParameters:
        Name  Flags
      target  final
      ctx     final

  public boolean isTokenDefinite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
         0: .line 106
            iconst_0
            ireturn
        end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/path/ScanPathToken;

  public java.lang.String getPathFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
         0: .line 111
            ldc ".."
            areturn
        end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jayway/jsonpath/internal/path/ScanPathToken;
}
SourceFile: "ScanPathToken.java"
NestMembers:
  com.jayway.jsonpath.internal.path.ScanPathToken$1  com.jayway.jsonpath.internal.path.ScanPathToken$ArrayPathTokenPredicate  com.jayway.jsonpath.internal.path.ScanPathToken$FilterPathTokenPredicate  com.jayway.jsonpath.internal.path.ScanPathToken$Predicate  com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate  com.jayway.jsonpath.internal.path.ScanPathToken$WildcardPathTokenPredicate
InnerClasses:
  com.jayway.jsonpath.internal.path.ScanPathToken$1
  private final ArrayPathTokenPredicate = com.jayway.jsonpath.internal.path.ScanPathToken$ArrayPathTokenPredicate of com.jayway.jsonpath.internal.path.ScanPathToken
  private final FilterPathTokenPredicate = com.jayway.jsonpath.internal.path.ScanPathToken$FilterPathTokenPredicate of com.jayway.jsonpath.internal.path.ScanPathToken
  private abstract Predicate = com.jayway.jsonpath.internal.path.ScanPathToken$Predicate of com.jayway.jsonpath.internal.path.ScanPathToken
  private final PropertyPathTokenPredicate = com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate of com.jayway.jsonpath.internal.path.ScanPathToken
  private final WildcardPathTokenPredicate = com.jayway.jsonpath.internal.path.ScanPathToken$WildcardPathTokenPredicate of com.jayway.jsonpath.internal.path.ScanPathToken