public class org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine implements org.apache.commons.configuration2.tree.ExpressionEngine
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine
  super_class: java.lang.Object
{
  static final java.lang.String PATH_DELIMITER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "/"

  static final java.lang.String ATTR_DELIMITER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "@"

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

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

  private static final int BUF_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

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

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

  private final org.apache.commons.configuration2.tree.xpath.XPathContextFactory contextFactory;
    descriptor: Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 558
            new org.apache.commons.configuration2.tree.xpath.ConfigurationNodePointerFactory
            dup
            invokespecial org.apache.commons.configuration2.tree.xpath.ConfigurationNodePointerFactory.<init>:()V
            invokestatic org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.addNodePointerFactory:(Lorg/apache/commons/jxpath/ri/model/NodePointerFactory;)V
         1: .line 559
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
         0: .line 175
            aload 0 /* this */
            new org.apache.commons.configuration2.tree.xpath.XPathContextFactory
            dup
            invokespecial org.apache.commons.configuration2.tree.xpath.XPathContextFactory.<init>:()V
            invokespecial org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.<init>:(Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;)V
         1: .line 176
            return
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;

  void <init>(org.apache.commons.configuration2.tree.xpath.XPathContextFactory);
    descriptor: (Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // org.apache.commons.configuration2.tree.xpath.XPathContextFactory factory
         0: .line 184
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 186
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.contextFactory:Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
         2: .line 187
            return
        end local 1 // org.apache.commons.configuration2.tree.xpath.XPathContextFactory factory
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0    3     1  factory  Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
    MethodParameters:
         Name  Flags
      factory  final

  public <T> java.util.List<org.apache.commons.configuration2.tree.QueryResult<T>> query(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object root
        start local 2 // java.lang.String key
        start local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 197
            aload 2 /* key */
            invokestatic org.apache.commons.lang3.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
         1: .line 199
            aload 1 /* root */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
            astore 4 /* result */
        start local 4 // org.apache.commons.configuration2.tree.QueryResult result
         2: .line 200
            aload 4 /* result */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 4 // org.apache.commons.configuration2.tree.QueryResult result
         3: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* root */
            aload 3 /* handler */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createContext:(Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
            astore 4 /* context */
        start local 4 // org.apache.commons.jxpath.JXPathContext context
         4: .line 203
            aload 4 /* context */
            aload 2 /* key */
            invokevirtual org.apache.commons.jxpath.JXPathContext.selectNodes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* results */
        start local 5 // java.util.List results
         5: .line 204
            aload 5 /* results */
            ifnonnull 7
         6: .line 206
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 5 /* results */
         7: .line 208
      StackMap locals: org.apache.commons.jxpath.JXPathContext java.util.List
      StackMap stack:
            aload 5 /* results */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.convertResults:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 5 // java.util.List results
        end local 4 // org.apache.commons.jxpath.JXPathContext context
        end local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object root
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0    8     1     root  TT;
            0    8     2      key  Ljava/lang/String;
            0    8     3  handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
            2    3     4   result  Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
            4    8     4  context  Lorg/apache/commons/jxpath/JXPathContext;
            5    8     5  results  Ljava/util/List<*>;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
    MethodParameters:
         Name  Flags
      root     final
      key      final
      handler  final

  public <T> java.lang.String nodeKey(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object node
        start local 2 // java.lang.String parentKey
        start local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 223
            aload 2 /* parentKey */
            ifnonnull 2
         1: .line 226
            ldc ""
            areturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* handler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
            ifnonnull 4
         3: .line 231
            aload 2 /* parentKey */
            areturn
         4: .line 237
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* parentKey */
            invokevirtual java.lang.String.length:()I
         5: .line 238
            aload 3 /* handler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
         6: .line 239
            ldc "/"
            invokevirtual java.lang.String.length:()I
            iadd
         7: .line 237
            invokespecial java.lang.StringBuilder.<init>:(I)V
         8: .line 236
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         9: .line 240
            aload 2 /* parentKey */
            invokevirtual java.lang.String.length:()I
            ifle 12
        10: .line 242
            aload 4 /* buf */
            aload 2 /* parentKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 243
            aload 4 /* buf */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 245
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* buf */
            aload 3 /* handler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 246
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 2 // java.lang.String parentKey
        end local 1 // java.lang.Object node
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0   14     1       node  TT;
            0   14     2  parentKey  Ljava/lang/String;
            0   14     3    handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
            9   14     4        buf  Ljava/lang/StringBuilder;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      node       final
      parentKey  final
      handler    final

  public java.lang.String attributeKey(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.String parentKey
        start local 2 // java.lang.String attributeName
         0: .line 254
            new java.lang.StringBuilder
            dup
            aload 1 /* parentKey */
            invokestatic org.apache.commons.lang3.StringUtils.length:(Ljava/lang/CharSequence;)I
         1: .line 255
            aload 2 /* attributeName */
            invokestatic org.apache.commons.lang3.StringUtils.length:(Ljava/lang/CharSequence;)I
            iadd
         2: .line 256
            ldc "/"
            invokevirtual java.lang.String.length:()I
            iadd
            ldc "@"
            invokevirtual java.lang.String.length:()I
            iadd
         3: .line 254
            invokespecial java.lang.StringBuilder.<init>:(I)V
         4: .line 253
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         5: .line 257
            aload 1 /* parentKey */
            invokestatic org.apache.commons.lang3.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 7
         6: .line 259
            aload 3 /* buf */
            aload 1 /* parentKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 261
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* buf */
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* attributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 262
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String attributeName
        end local 1 // java.lang.String parentKey
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0    9     1      parentKey  Ljava/lang/String;
            0    9     2  attributeName  Ljava/lang/String;
            5    9     3            buf  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      parentKey      final
      attributeName  final

  public <T> java.lang.String canonicalKey(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object node
        start local 2 // java.lang.String parentKey
        start local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 273
            aload 3 /* handler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.getParent:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* parent */
        start local 4 // java.lang.Object parent
         1: .line 274
            aload 4 /* parent */
            ifnonnull 3
         2: .line 277
            aload 2 /* parentKey */
            invokestatic org.apache.commons.lang3.StringUtils.defaultString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         3: .line 280
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* buf */
        start local 5 // java.lang.StringBuilder buf
         4: .line 281
            aload 2 /* parentKey */
            invokestatic org.apache.commons.lang3.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 6
         5: .line 283
            aload 5 /* buf */
            aload 2 /* parentKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 285
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 5 /* buf */
            aload 3 /* handler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 286
            aload 5 /* buf */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 287
            aload 5 /* buf */
            aload 4 /* parent */
            aload 1 /* node */
            aload 3 /* handler */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.determineIndex:(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         9: .line 288
            aload 5 /* buf */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 289
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder buf
        end local 4 // java.lang.Object parent
        end local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 2 // java.lang.String parentKey
        end local 1 // java.lang.Object node
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0   11     1       node  TT;
            0   11     2  parentKey  Ljava/lang/String;
            0   11     3    handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
            1   11     4     parent  TT;
            4   11     5        buf  Ljava/lang/StringBuilder;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      node       final
      parentKey  final
      handler    final

  public <T> org.apache.commons.configuration2.tree.NodeAddData<T> prepareAdd(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/configuration2/tree/NodeAddData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object root
        start local 2 // java.lang.String key
        start local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 300
            aload 2 /* key */
            ifnonnull 4
         1: .line 302
            new java.lang.IllegalArgumentException
            dup
         2: .line 303
            ldc "prepareAdd: key must not be null!"
         3: .line 302
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 306
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 4 /* addKey */
        start local 4 // java.lang.String addKey
         5: .line 307
            aload 4 /* addKey */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.findKeySeparator:(Ljava/lang/String;)I
            istore 5 /* index */
        start local 5 // int index
         6: .line 308
            iload 5 /* index */
            ifge 10
         7: .line 310
            aload 0 /* this */
            aload 1 /* root */
            aload 4 /* addKey */
            aload 3 /* handler */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.generateKeyForAdd:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
            astore 4 /* addKey */
         8: .line 311
            aload 4 /* addKey */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.findKeySeparator:(Ljava/lang/String;)I
            istore 5 /* index */
         9: .line 312
            goto 12
        10: .line 313
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 5 /* index */
            aload 4 /* addKey */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmplt 12
        11: .line 315
            aload 4 /* addKey */
            ldc " new node path must not be empty."
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* root */
            aload 4 /* addKey */
            iconst_0
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aload 3 /* handler */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.query:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
        13: .line 318
            astore 6 /* nodes */
        start local 6 // java.util.List nodes
        14: .line 320
            aload 6 /* nodes */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 18
        15: .line 322
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "prepareAdd: key '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 323
            ldc "' must select exactly one target node!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 322
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 326
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* addKey */
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aload 6 /* nodes */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.tree.QueryResult
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createNodeAddData:(Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult;)Lorg/apache/commons/configuration2/tree/NodeAddData;
            areturn
        end local 6 // java.util.List nodes
        end local 5 // int index
        end local 4 // java.lang.String addKey
        end local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object root
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0   19     1     root  TT;
            0   19     2      key  Ljava/lang/String;
            0   19     3  handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
            5   19     4   addKey  Ljava/lang/String;
            6   19     5    index  I
           14   19     6    nodes  Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Lorg/apache/commons/configuration2/tree/NodeAddData<TT;>;
    MethodParameters:
         Name  Flags
      root     final
      key      final
      handler  final

  private <T> org.apache.commons.jxpath.JXPathContext createContext(T, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object root
        start local 2 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 339
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.getContextFactory:()Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
            aload 1 /* root */
            aload 2 /* handler */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathContextFactory.createContext:(Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
            areturn
        end local 2 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 1 // java.lang.Object root
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0    1     1     root  TT;
            0    1     2  handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Lorg/apache/commons/jxpath/JXPathContext;
    MethodParameters:
         Name  Flags
      root     final
      handler  final

  <T> org.apache.commons.configuration2.tree.NodeAddData<T> createNodeAddData(java.lang.String, org.apache.commons.configuration2.tree.QueryResult<T>);
    descriptor: (Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult;)Lorg/apache/commons/configuration2/tree/NodeAddData;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.String path
        start local 2 // org.apache.commons.configuration2.tree.QueryResult parentNodeResult
         0: .line 354
            aload 2 /* parentNodeResult */
            invokevirtual org.apache.commons.configuration2.tree.QueryResult.isAttributeResult:()Z
            ifeq 2
         1: .line 356
            aload 1 /* path */
            ldc " cannot add properties to an attribute."
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 358
      StackMap locals:
      StackMap stack:
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* pathNodes */
        start local 3 // java.util.List pathNodes
         3: .line 359
            aconst_null
            astore 4 /* lastComponent */
        start local 4 // java.lang.String lastComponent
         4: .line 360
            iconst_0
            istore 5 /* attr */
        start local 5 // boolean attr
         5: .line 361
            iconst_1
            istore 6 /* first */
        start local 6 // boolean first
         6: .line 364
            new java.util.StringTokenizer
            dup
            aload 1 /* path */
            ldc "/@"
            iconst_1
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
         7: .line 363
            astore 7 /* tok */
        start local 7 // java.util.StringTokenizer tok
         8: .line 365
            goto 36
         9: .line 367
      StackMap locals: org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine java.lang.String org.apache.commons.configuration2.tree.QueryResult java.util.List java.lang.String int int java.util.StringTokenizer
      StackMap stack:
            aload 7 /* tok */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 8 /* token */
        start local 8 // java.lang.String token
        10: .line 368
            ldc "/"
            aload 8 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        11: .line 370
            iload 5 /* attr */
            ifeq 13
        12: .line 372
            aload 1 /* path */
            ldc " contains an attribute delimiter at a disallowed position."
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 375
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* lastComponent */
            ifnonnull 17
        14: .line 377
            aload 1 /* path */
        15: .line 378
            ldc " contains a '/' at a disallowed position."
        16: .line 377
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 380
      StackMap locals:
      StackMap stack:
            aload 3 /* pathNodes */
            aload 4 /* lastComponent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 381
            aconst_null
            astore 4 /* lastComponent */
        19: .line 382
            goto 35
        20: .line 384
      StackMap locals:
      StackMap stack:
            ldc "@"
            aload 8 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        21: .line 386
            iload 5 /* attr */
            ifeq 25
        22: .line 388
            aload 1 /* path */
        23: .line 389
            ldc " contains multiple attribute delimiters."
        24: .line 388
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 391
      StackMap locals:
      StackMap stack:
            aload 4 /* lastComponent */
            ifnonnull 29
            iload 6 /* first */
            ifne 29
        26: .line 393
            aload 1 /* path */
        27: .line 394
            ldc " contains an attribute delimiter at a disallowed position."
        28: .line 393
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 396
      StackMap locals:
      StackMap stack:
            aload 4 /* lastComponent */
            ifnull 31
        30: .line 398
            aload 3 /* pathNodes */
            aload 4 /* lastComponent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 400
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* attr */
        32: .line 401
            aconst_null
            astore 4 /* lastComponent */
        33: .line 402
            goto 35
        34: .line 406
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            astore 4 /* lastComponent */
        35: .line 408
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* first */
        end local 8 // java.lang.String token
        36: .line 365
      StackMap locals:
      StackMap stack:
            aload 7 /* tok */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 9
        37: .line 411
            aload 4 /* lastComponent */
            ifnonnull 39
        38: .line 413
            aload 1 /* path */
            ldc "contains no components."
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
        39: .line 416
      StackMap locals:
      StackMap stack:
            new org.apache.commons.configuration2.tree.NodeAddData
            dup
            aload 2 /* parentNodeResult */
            invokevirtual org.apache.commons.configuration2.tree.QueryResult.getNode:()Ljava/lang/Object;
            aload 4 /* lastComponent */
        40: .line 417
            iload 5 /* attr */
            aload 3 /* pathNodes */
        41: .line 416
            invokespecial org.apache.commons.configuration2.tree.NodeAddData.<init>:(Ljava/lang/Object;Ljava/lang/String;ZLjava/util/Collection;)V
            areturn
        end local 7 // java.util.StringTokenizer tok
        end local 6 // boolean first
        end local 5 // boolean attr
        end local 4 // java.lang.String lastComponent
        end local 3 // java.util.List pathNodes
        end local 2 // org.apache.commons.configuration2.tree.QueryResult parentNodeResult
        end local 1 // java.lang.String path
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   42     0              this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0   42     1              path  Ljava/lang/String;
            0   42     2  parentNodeResult  Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
            3   42     3         pathNodes  Ljava/util/List<Ljava/lang/String;>;
            4   42     4     lastComponent  Ljava/lang/String;
            5   42     5              attr  Z
            6   42     6             first  Z
            8   42     7               tok  Ljava/util/StringTokenizer;
           10   36     8             token  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;)Lorg/apache/commons/configuration2/tree/NodeAddData<TT;>;
    MethodParameters:
                  Name  Flags
      path              final
      parentNodeResult  final

  org.apache.commons.configuration2.tree.xpath.XPathContextFactory getContextFactory();
    descriptor: ()Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
         0: .line 427
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.contextFactory:Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
            areturn
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;

  private <T> java.lang.String generateKeyForAdd(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
        start local 1 // java.lang.Object root
        start local 2 // java.lang.String key
        start local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 445
            aload 2 /* key */
            ldc "/"
            aload 2 /* key */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            istore 4 /* pos */
        start local 4 // int pos
         1: .line 447
            goto 9
         2: .line 449
      StackMap locals: int
      StackMap stack:
            aload 2 /* key */
            iconst_0
            iload 4 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* keyExisting */
        start local 5 // java.lang.String keyExisting
         3: .line 450
            aload 0 /* this */
            aload 1 /* root */
            aload 5 /* keyExisting */
            aload 3 /* handler */
            invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.query:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
         4: .line 452
            new java.lang.StringBuilder
            dup
            aload 2 /* key */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 6 /* buf */
        start local 6 // java.lang.StringBuilder buf
         5: .line 453
            aload 6 /* buf */
            aload 5 /* keyExisting */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 454
            aload 6 /* buf */
            aload 2 /* key */
            iload 4 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 455
            aload 6 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder buf
         8: .line 457
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* key */
            ldc "/"
            iload 4 /* pos */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            istore 4 /* pos */
        end local 5 // java.lang.String keyExisting
         9: .line 447
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            ifge 2
        10: .line 460
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int pos
        end local 3 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object root
        end local 0 // org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
            0   11     1         root  TT;
            0   11     2          key  Ljava/lang/String;
            0   11     3      handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
            1   11     4          pos  I
            3    9     5  keyExisting  Ljava/lang/String;
            5    8     6          buf  Ljava/lang/StringBuilder;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      root     final
      key      final
      handler  final

  private static <T> int determineIndex(T, T, org.apache.commons.configuration2.tree.NodeHandler<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object parent
        start local 1 // java.lang.Object child
        start local 2 // org.apache.commons.configuration2.tree.NodeHandler handler
         0: .line 476
            aload 2 /* handler */
            aload 0 /* parent */
            aload 2 /* handler */
            aload 1 /* child */
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.commons.configuration2.tree.NodeHandler.getChildren:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
         1: .line 477
            aload 1 /* child */
         2: .line 476
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
         3: .line 477
            iconst_1
         4: .line 476
            iadd
            ireturn
        end local 2 // org.apache.commons.configuration2.tree.NodeHandler handler
        end local 1 // java.lang.Object child
        end local 0 // java.lang.Object parent
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   parent  TT;
            0    5     1    child  TT;
            0    5     2  handler  Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;TT;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)I
    MethodParameters:
         Name  Flags
      parent   final
      child    final
      handler  final

  private static void invalidPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String path
        start local 1 // java.lang.String msg
         0: .line 488
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid node path: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 489
            ldc "\" "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 488
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String msg
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  path  Ljava/lang/String;
            0    3     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  final
      msg   final

  private static int findKeySeparator(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String key
         0: .line 501
            aload 0 /* key */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 1 /* index */
        start local 1 // int index
         1: .line 502
            goto 3
         2: .line 504
      StackMap locals: int
      StackMap stack:
            iinc 1 /* index */ -1
         3: .line 502
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            iflt 4
            aload 0 /* key */
            iload 1 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 2
         4: .line 506
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            ireturn
        end local 1 // int index
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0    key  Ljava/lang/String;
            1    5     1  index  I
    MethodParameters:
      Name  Flags
      key   final

  private static <T> java.util.List<org.apache.commons.configuration2.tree.QueryResult<T>> convertResults(java.util.List<?>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.util.List results
         0: .line 520
            new java.util.ArrayList
            dup
            aload 0 /* results */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
         1: .line 519
            astore 1 /* queryResults */
        start local 1 // java.util.List queryResults
         2: .line 521
            aload 0 /* results */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* res */
        start local 2 // java.lang.Object res
         4: .line 523
            aload 2 /* res */
            invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
            astore 4 /* queryResult */
        start local 4 // org.apache.commons.configuration2.tree.QueryResult queryResult
         5: .line 524
            aload 1 /* queryResults */
            aload 4 /* queryResult */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.apache.commons.configuration2.tree.QueryResult queryResult
        end local 2 // java.lang.Object res
         6: .line 521
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 526
            aload 1 /* queryResults */
            areturn
        end local 1 // java.util.List queryResults
        end local 0 // java.util.List results
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0       results  Ljava/util/List<*>;
            2    8     1  queryResults  Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
            4    6     2           res  Ljava/lang/Object;
            5    6     4   queryResult  Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<*>;)Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
    MethodParameters:
         Name  Flags
      results  final

  private static <T> org.apache.commons.configuration2.tree.QueryResult<T> createResult();
    descriptor: (Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object resObj
         0: .line 547
            aload 0 /* resObj */
            instanceof org.apache.commons.configuration2.tree.QueryResult
            ifeq 2
         1: .line 549
            aload 0 /* resObj */
            checkcast org.apache.commons.configuration2.tree.QueryResult
            areturn
         2: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* resObj */
            invokestatic org.apache.commons.configuration2.tree.QueryResult.createNodeResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
            areturn
        end local 0 // java.lang.Object resObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  resObj  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
    MethodParameters:
        Name  Flags
      resObj  final
}
SourceFile: "XPathExpressionEngine.java"