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

  public static final java.lang.String DEFAULT_ESCAPED_DELIMITER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".."

  public static final java.lang.String DEFAULT_ATTRIBUTE_START;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "[@"

  public static final java.lang.String DEFAULT_ATTRIBUTE_END;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "]"

  public static final java.lang.String DEFAULT_INDEX_START;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "("

  public static final java.lang.String DEFAULT_INDEX_END;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ")"

  private java.lang.String propertyDelimiter;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String escapedDelimiter;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String attributeStart;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String attributeEnd;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String indexStart;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String indexEnd;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            aload 0 /* this */
            ldc "."
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.propertyDelimiter:Ljava/lang/String;
         2: .line 134
            aload 0 /* this */
            ldc ".."
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.escapedDelimiter:Ljava/lang/String;
         3: .line 137
            aload 0 /* this */
            ldc "[@"
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeStart:Ljava/lang/String;
         4: .line 140
            aload 0 /* this */
            ldc "]"
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeEnd:Ljava/lang/String;
         5: .line 143
            aload 0 /* this */
            ldc "("
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexStart:Ljava/lang/String;
         6: .line 146
            aload 0 /* this */
            ldc ")"
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexEnd:Ljava/lang/String;
         7: .line 109
            return
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public java.lang.String getAttributeEnd();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 155
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeEnd:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setAttributeEnd(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String attributeEnd
         0: .line 166
            aload 0 /* this */
            aload 1 /* attributeEnd */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeEnd:Ljava/lang/String;
         1: .line 167
            return
        end local 1 // java.lang.String attributeEnd
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  attributeEnd  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      attributeEnd  

  public java.lang.String getAttributeStart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 176
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeStart:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setAttributeStart(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String attributeStart
         0: .line 187
            aload 0 /* this */
            aload 1 /* attributeStart */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.attributeStart:Ljava/lang/String;
         1: .line 188
            return
        end local 1 // java.lang.String attributeStart
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  attributeStart  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      attributeStart  

  public java.lang.String getEscapedDelimiter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 197
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.escapedDelimiter:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setEscapedDelimiter(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String escapedDelimiter
         0: .line 211
            aload 0 /* this */
            aload 1 /* escapedDelimiter */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.escapedDelimiter:Ljava/lang/String;
         1: .line 212
            return
        end local 1 // java.lang.String escapedDelimiter
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  escapedDelimiter  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      escapedDelimiter  

  public java.lang.String getIndexEnd();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 221
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexEnd:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setIndexEnd(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String indexEnd
         0: .line 231
            aload 0 /* this */
            aload 1 /* indexEnd */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexEnd:Ljava/lang/String;
         1: .line 232
            return
        end local 1 // java.lang.String indexEnd
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  indexEnd  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      indexEnd  

  public java.lang.String getIndexStart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 241
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexStart:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setIndexStart(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String indexStart
         0: .line 252
            aload 0 /* this */
            aload 1 /* indexStart */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.indexStart:Ljava/lang/String;
         1: .line 253
            return
        end local 1 // java.lang.String indexStart
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  indexStart  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      indexStart  

  public java.lang.String getPropertyDelimiter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
         0: .line 262
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultExpressionEngine.propertyDelimiter:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;

  public void setPropertyDelimiter(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // java.lang.String propertyDelimiter
         0: .line 273
            aload 0 /* this */
            aload 1 /* propertyDelimiter */
            putfield org.apache.commons.configuration.tree.DefaultExpressionEngine.propertyDelimiter:Ljava/lang/String;
         1: .line 274
            return
        end local 1 // java.lang.String propertyDelimiter
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    2     1  propertyDelimiter  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      propertyDelimiter  

  public java.util.List<org.apache.commons.configuration.tree.ConfigurationNode> query(org.apache.commons.configuration.tree.ConfigurationNode, java.lang.String);
    descriptor: (Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.ConfigurationNode root
        start local 2 // java.lang.String key
         0: .line 286
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* nodes */
        start local 3 // java.util.List nodes
         1: .line 287
            aload 0 /* this */
            new org.apache.commons.configuration.tree.DefaultConfigurationKey
            dup
            aload 0 /* this */
            aload 2 /* key */
            invokespecial org.apache.commons.configuration.tree.DefaultConfigurationKey.<init>:(Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;Ljava/lang/String;)V
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.iterator:()Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
         2: .line 288
            aload 1 /* root */
            aload 3 /* nodes */
         3: .line 287
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.findNodesForKey:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/util/Collection;)V
         4: .line 289
            aload 3 /* nodes */
            areturn
        end local 3 // java.util.List nodes
        end local 2 // java.lang.String key
        end local 1 // org.apache.commons.configuration.tree.ConfigurationNode root
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    5     1   root  Lorg/apache/commons/configuration/tree/ConfigurationNode;
            0    5     2    key  Ljava/lang/String;
            1    5     3  nodes  Ljava/util/List<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;
    Signature: (Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/lang/String;)Ljava/util/List<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;
    MethodParameters:
      Name  Flags
      root  
      key   

  public java.lang.String nodeKey(org.apache.commons.configuration.tree.ConfigurationNode, java.lang.String);
    descriptor: (Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.ConfigurationNode node
        start local 2 // java.lang.String parentKey
         0: .line 305
            aload 2 /* parentKey */
            ifnonnull 2
         1: .line 308
            ldc ""
            areturn
         2: .line 313
      StackMap locals:
      StackMap stack:
            new org.apache.commons.configuration.tree.DefaultConfigurationKey
            dup
            aload 0 /* this */
         3: .line 314
            aload 2 /* parentKey */
         4: .line 313
            invokespecial org.apache.commons.configuration.tree.DefaultConfigurationKey.<init>:(Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;Ljava/lang/String;)V
            astore 3 /* key */
        start local 3 // org.apache.commons.configuration.tree.DefaultConfigurationKey key
         5: .line 315
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.isAttribute:()Z
            ifeq 8
         6: .line 317
            aload 3 /* key */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getName:()Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.appendAttribute:(Ljava/lang/String;)Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            pop
         7: .line 318
            goto 9
         8: .line 321
      StackMap locals: org.apache.commons.configuration.tree.DefaultConfigurationKey
      StackMap stack:
            aload 3 /* key */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getName:()Ljava/lang/String;
            iconst_1
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.append:(Ljava/lang/String;Z)Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            pop
         9: .line 323
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.apache.commons.configuration.tree.DefaultConfigurationKey key
        end local 2 // java.lang.String parentKey
        end local 1 // org.apache.commons.configuration.tree.ConfigurationNode node
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0   10     1       node  Lorg/apache/commons/configuration/tree/ConfigurationNode;
            0   10     2  parentKey  Ljava/lang/String;
            5   10     3        key  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
    MethodParameters:
           Name  Flags
      node       
      parentKey  

  public org.apache.commons.configuration.tree.NodeAddData prepareAdd(org.apache.commons.configuration.tree.ConfigurationNode, java.lang.String);
    descriptor: (Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/lang/String;)Lorg/apache/commons/configuration/tree/NodeAddData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.ConfigurationNode root
        start local 2 // java.lang.String key
         0: .line 416
            new org.apache.commons.configuration.tree.DefaultConfigurationKey
            dup
         1: .line 417
            aload 0 /* this */
            aload 2 /* key */
         2: .line 416
            invokespecial org.apache.commons.configuration.tree.DefaultConfigurationKey.<init>:(Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;Ljava/lang/String;)V
         3: .line 417
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.iterator:()Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
         4: .line 416
            astore 3 /* it */
        start local 3 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator it
         5: .line 418
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifne 9
         6: .line 420
            new java.lang.IllegalArgumentException
            dup
         7: .line 421
            ldc "Key for add operation must be defined!"
         8: .line 420
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 424
      StackMap locals: org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator
      StackMap stack:
            new org.apache.commons.configuration.tree.NodeAddData
            dup
            invokespecial org.apache.commons.configuration.tree.NodeAddData.<init>:()V
            astore 4 /* result */
        start local 4 // org.apache.commons.configuration.tree.NodeAddData result
        10: .line 425
            aload 4 /* result */
            aload 0 /* this */
            aload 3 /* it */
            aload 1 /* root */
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.findLastPathNode:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;)Lorg/apache/commons/configuration/tree/ConfigurationNode;
            invokevirtual org.apache.commons.configuration.tree.NodeAddData.setParent:(Lorg/apache/commons/configuration/tree/ConfigurationNode;)V
        11: .line 427
            goto 20
        12: .line 429
      StackMap locals: org.apache.commons.configuration.tree.NodeAddData
      StackMap stack:
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifne 18
        13: .line 431
            new java.lang.IllegalArgumentException
            dup
        14: .line 432
            new java.lang.StringBuilder
            dup
            ldc "Invalid key for add operation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 433
            ldc " (Attribute key in the middle.)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 432
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 431
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 435
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.currentKey:()Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.NodeAddData.addPathNode:(Ljava/lang/String;)V
        19: .line 436
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.next:()Ljava/lang/Object;
            pop
        20: .line 427
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifne 12
        21: .line 439
            aload 4 /* result */
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.currentKey:()Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.NodeAddData.setNewNodeName:(Ljava/lang/String;)V
        22: .line 440
            aload 4 /* result */
            aload 3 /* it */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifeq 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack: org.apache.commons.configuration.tree.NodeAddData
        23: iconst_1
      StackMap locals: org.apache.commons.configuration.tree.DefaultExpressionEngine org.apache.commons.configuration.tree.ConfigurationNode java.lang.String org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator org.apache.commons.configuration.tree.NodeAddData
      StackMap stack: org.apache.commons.configuration.tree.NodeAddData int
        24: invokevirtual org.apache.commons.configuration.tree.NodeAddData.setAttribute:(Z)V
        25: .line 441
            aload 4 /* result */
            areturn
        end local 4 // org.apache.commons.configuration.tree.NodeAddData result
        end local 3 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator it
        end local 2 // java.lang.String key
        end local 1 // org.apache.commons.configuration.tree.ConfigurationNode root
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0   26     1    root  Lorg/apache/commons/configuration/tree/ConfigurationNode;
            0   26     2     key  Ljava/lang/String;
            5   26     3      it  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
           10   26     4  result  Lorg/apache/commons/configuration/tree/NodeAddData;
    MethodParameters:
      Name  Flags
      root  
      key   

  protected void findNodesForKey(org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator, org.apache.commons.configuration.tree.ConfigurationNode, java.util.Collection<org.apache.commons.configuration.tree.ConfigurationNode>);
    descriptor: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/util/Collection;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyPart
        start local 2 // org.apache.commons.configuration.tree.ConfigurationNode node
        start local 3 // java.util.Collection nodes
         0: .line 456
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifne 3
         1: .line 458
            aload 3 /* nodes */
            aload 2 /* node */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 459
            goto 8
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 1 /* keyPart */
            iconst_0
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextKey:(Z)Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
         4: .line 464
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifeq 6
         5: .line 466
            aload 0 /* this */
            aload 1 /* keyPart */
            aload 2 /* node */
            aload 4 /* key */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getChildren:(Ljava/lang/String;)Ljava/util/List;
            aload 3 /* nodes */
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.processSubNodes:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Ljava/util/List;Ljava/util/Collection;)V
         6: .line 468
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isAttribute:()Z
            ifeq 8
         7: .line 470
            aload 0 /* this */
            aload 1 /* keyPart */
            aload 2 /* node */
            aload 4 /* key */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getAttributes:(Ljava/lang/String;)Ljava/util/List;
            aload 3 /* nodes */
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.processSubNodes:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Ljava/util/List;Ljava/util/Collection;)V
        end local 4 // java.lang.String key
         8: .line 473
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Collection nodes
        end local 2 // org.apache.commons.configuration.tree.ConfigurationNode node
        end local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyPart
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0    9     1  keyPart  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0    9     2     node  Lorg/apache/commons/configuration/tree/ConfigurationNode;
            0    9     3    nodes  Ljava/util/Collection<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;
            4    8     4      key  Ljava/lang/String;
    Signature: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/util/Collection<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;)V
    MethodParameters:
         Name  Flags
      keyPart  
      node     
      nodes    

  protected org.apache.commons.configuration.tree.ConfigurationNode findLastPathNode(org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator, org.apache.commons.configuration.tree.ConfigurationNode);
    descriptor: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;)Lorg/apache/commons/configuration/tree/ConfigurationNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyIt
        start local 2 // org.apache.commons.configuration.tree.ConfigurationNode node
         0: .line 487
            aload 1 /* keyIt */
            iconst_0
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextKey:(Z)Ljava/lang/String;
            astore 3 /* keyPart */
        start local 3 // java.lang.String keyPart
         1: .line 489
            aload 1 /* keyIt */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifeq 13
         2: .line 491
            aload 1 /* keyIt */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifne 6
         3: .line 494
            new java.lang.IllegalArgumentException
            dup
         4: .line 495
            ldc "Invalid path for add operation: Attribute key in the middle!"
         5: .line 494
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 498
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* keyIt */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasIndex:()Z
            ifeq 7
            aload 1 /* keyIt */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.getIndex:()I
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 2 /* node */
         8: .line 499
            aload 3 /* keyPart */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getChildrenCount:(Ljava/lang/String;)I
            iconst_1
            isub
         9: .line 498
      StackMap locals:
      StackMap stack: int
            istore 4 /* idx */
        start local 4 // int idx
        10: .line 500
            iload 4 /* idx */
            iflt 11
            iload 4 /* idx */
            aload 2 /* node */
            aload 3 /* keyPart */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getChildrenCount:(Ljava/lang/String;)I
            if_icmplt 12
        11: .line 502
      StackMap locals: int
      StackMap stack:
            aload 2 /* node */
            areturn
        12: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyIt */
            aload 2 /* node */
            aload 3 /* keyPart */
            invokeinterface org.apache.commons.configuration.tree.ConfigurationNode.getChildren:(Ljava/lang/String;)Ljava/util/List;
            iload 4 /* idx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.configuration.tree.ConfigurationNode
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.findLastPathNode:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;)Lorg/apache/commons/configuration/tree/ConfigurationNode;
            areturn
        end local 4 // int idx
        13: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* node */
            areturn
        end local 3 // java.lang.String keyPart
        end local 2 // org.apache.commons.configuration.tree.ConfigurationNode node
        end local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyIt
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0   14     1    keyIt  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0   14     2     node  Lorg/apache/commons/configuration/tree/ConfigurationNode;
            1   14     3  keyPart  Ljava/lang/String;
           10   13     4      idx  I
    MethodParameters:
       Name  Flags
      keyIt  
      node   

  private void processSubNodes(org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator, java.util.List<org.apache.commons.configuration.tree.ConfigurationNode>, java.util.Collection<org.apache.commons.configuration.tree.ConfigurationNode>);
    descriptor: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Ljava/util/List;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
        start local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyPart
        start local 2 // java.util.List subNodes
        start local 3 // java.util.Collection nodes
         0: .line 528
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasIndex:()Z
            ifeq 6
         1: .line 530
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.getIndex:()I
            iflt 12
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.getIndex:()I
            aload 2 /* subNodes */
            invokeinterface java.util.List.size:()I
            if_icmpge 12
         2: .line 532
            aload 0 /* this */
            aload 1 /* keyPart */
         3: .line 533
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.clone:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator
            aload 2 /* subNodes */
            aload 1 /* keyPart */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.getIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.configuration.tree.ConfigurationNode
            aload 3 /* nodes */
         4: .line 532
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.findNodesForKey:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/util/Collection;)V
         5: .line 535
            goto 12
         6: .line 538
      StackMap locals:
      StackMap stack:
            aload 2 /* subNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.apache.commons.configuration.tree.DefaultExpressionEngine org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.tree.ConfigurationNode
            astore 4 /* node */
        start local 4 // org.apache.commons.configuration.tree.ConfigurationNode node
         8: .line 540
            aload 0 /* this */
            aload 1 /* keyPart */
         9: .line 541
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.clone:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator
            aload 4 /* node */
            aload 3 /* nodes */
        10: .line 540
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.findNodesForKey:(Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Lorg/apache/commons/configuration/tree/ConfigurationNode;Ljava/util/Collection;)V
        end local 4 // org.apache.commons.configuration.tree.ConfigurationNode node
        11: .line 538
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 544
      StackMap locals: org.apache.commons.configuration.tree.DefaultExpressionEngine org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator java.util.List java.util.Collection
      StackMap stack:
            return
        end local 3 // java.util.Collection nodes
        end local 2 // java.util.List subNodes
        end local 1 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator keyPart
        end local 0 // org.apache.commons.configuration.tree.DefaultExpressionEngine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            0   13     1   keyPart  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0   13     2  subNodes  Ljava/util/List<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;
            0   13     3     nodes  Ljava/util/Collection<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;
            8   11     4      node  Lorg/apache/commons/configuration/tree/ConfigurationNode;
    Signature: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;Ljava/util/List<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;Ljava/util/Collection<Lorg/apache/commons/configuration/tree/ConfigurationNode;>;)V
    MethodParameters:
          Name  Flags
      keyPart   
      subNodes  
      nodes     
}
SourceFile: "DefaultExpressionEngine.java"
InnerClasses:
  public KeyIterator = org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator of org.apache.commons.configuration.tree.DefaultConfigurationKey