public class org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator implements java.util.Iterator<java.lang.Object>, java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator
  super_class: java.lang.Object
{
  private java.lang.String current;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  final org.apache.commons.configuration2.tree.DefaultConfigurationKey this$0;
    descriptor: Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.apache.commons.configuration2.tree.DefaultConfigurationKey);
    descriptor: (Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 551
            aload 0 /* this */
            aload 1
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.lang.String nextKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 579
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.nextKey:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public java.lang.String nextKey(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // boolean decorated
         0: .line 594
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifne 2
         1: .line 596
            new java.util.NoSuchElementException
            dup
            ldc "No more key parts!"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
         3: .line 600
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
         4: .line 601
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.findNextIndices:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         5: .line 603
            aload 0 /* this */
            aload 2 /* key */
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         6: .line 604
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.checkIndex:(Ljava/lang/String;)Z
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
         7: .line 605
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.checkAttribute:(Ljava/lang/String;)Z
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.attribute:Z
         8: .line 607
            aload 0 /* this */
            iload 1 /* decorated */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.currentKey:(Z)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String key
        end local 1 // boolean decorated
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0    9     1  decorated  Z
            5    9     2        key  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      decorated  final

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 618
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 629
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.nextKey:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 639
            new java.lang.UnsupportedOperationException
            dup
            ldc "Remove not supported!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public java.lang.String currentKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 651
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.currentKey:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public java.lang.String currentKey(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // boolean decorated
         0: .line 666
            iload 1 /* decorated */
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.constructAttributeKey:(Ljava/lang/String;)Ljava/lang/String;
            goto 2
         1: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         2: .line 666
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // boolean decorated
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0    3     1  decorated  Z
    MethodParameters:
           Name  Flags
      decorated  final

  public boolean isAttribute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 680
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.attribute:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.isAttributeEmulatingMode:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public boolean isPropertyKey();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 695
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.attribute:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public int getIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 707
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public boolean hasIndex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 718
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 731
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
         1: areturn
         2: .line 733
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         3: .line 736
            aconst_null
            areturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  private java.lang.String findNextIndices();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 747
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         1: .line 749
            goto 5
         2: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getPropertyDelimiter:()Ljava/lang/String;
         3: .line 753
            invokevirtual java.lang.String.length:()I
            iadd
         4: .line 752
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         5: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.length:()I
            if_icmpge 7
         6: .line 750
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            invokevirtual java.lang.StringBuilder.substring:(I)Ljava/lang/String;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.hasLeadingDelimiter:(Ljava/lang/String;)Z
            ifne 2
         7: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.length:()I
            if_icmplt 11
         8: .line 759
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.length:()I
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
         9: .line 760
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            iconst_1
            isub
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
        10: .line 761
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            areturn
        11: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.nextKeyPart:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  private java.lang.String nextKeyPart();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 774
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         1: .line 775
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getAttributeStart:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         2: .line 774
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 1 /* attrIdx */
        start local 1 // int attrIdx
         3: .line 776
            iload 1 /* attrIdx */
            iflt 4
            iload 1 /* attrIdx */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            if_icmpne 5
         4: .line 778
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.length:()I
            istore 1 /* attrIdx */
         5: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         6: .line 782
            iload 1 /* attrIdx */
         7: .line 781
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.nextDelimiterPos:(Ljava/lang/String;II)I
            istore 2 /* delIdx */
        start local 2 // int delIdx
         8: .line 783
            iload 2 /* delIdx */
            ifge 10
         9: .line 785
            iload 1 /* attrIdx */
            istore 2 /* delIdx */
        10: .line 788
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* attrIdx */
            iload 2 /* delIdx */
            invokestatic java.lang.Math.min:(II)I
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
        11: .line 789
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.unescapeDelimiters:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // int delIdx
        end local 1 // int attrIdx
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            3   12     1  attrIdx  I
            8   12     2   delIdx  I

  private int nextDelimiterPos(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
        start local 2 // int pos
        start local 3 // int endPos
         0: .line 802
            iload 2 /* pos */
            istore 4 /* delimiterPos */
        start local 4 // int delimiterPos
         1: .line 803
            iconst_0
            istore 5 /* found */
        start local 5 // boolean found
         2: .line 807
      StackMap locals: int int
      StackMap stack:
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
         3: .line 808
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getPropertyDelimiter:()Ljava/lang/String;
            iload 4 /* delimiterPos */
         4: .line 807
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* delimiterPos */
         5: .line 809
            iload 4 /* delimiterPos */
            iflt 6
            iload 4 /* delimiterPos */
            iload 3 /* endPos */
            if_icmplt 7
         6: .line 811
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         7: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* delimiterPos */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.escapedPosition:(Ljava/lang/String;I)I
            istore 6 /* escapePos */
        start local 6 // int escapePos
         8: .line 814
            iload 6 /* escapePos */
            ifge 11
         9: .line 816
            iconst_1
            istore 5 /* found */
        10: .line 817
            goto 12
        11: .line 820
      StackMap locals: int
      StackMap stack:
            iload 6 /* escapePos */
            istore 4 /* delimiterPos */
        end local 6 // int escapePos
        12: .line 823
      StackMap locals:
      StackMap stack:
            iload 5 /* found */
            ifeq 2
        13: .line 825
            iload 4 /* delimiterPos */
            ireturn
        end local 5 // boolean found
        end local 4 // int delimiterPos
        end local 3 // int endPos
        end local 2 // int pos
        end local 1 // java.lang.String key
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0   14     1           key  Ljava/lang/String;
            0   14     2           pos  I
            0   14     3        endPos  I
            1   14     4  delimiterPos  I
            2   14     5         found  Z
            8   12     6     escapePos  I
    MethodParameters:
        Name  Flags
      key     final
      pos     final
      endPos  final

  private int escapedPosition(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
        start local 2 // int pos
         0: .line 839
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getEscapedDelimiter:()Ljava/lang/String;
            ifnonnull 2
         1: .line 842
            iconst_m1
            ireturn
         2: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.escapeOffset:()I
            istore 3 /* escapeOffset */
        start local 3 // int escapeOffset
         3: .line 845
            iload 3 /* escapeOffset */
            iflt 4
            iload 3 /* escapeOffset */
            iload 2 /* pos */
            if_icmple 5
         4: .line 848
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
         5: .line 851
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
         6: .line 852
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getEscapedDelimiter:()Ljava/lang/String;
            iload 2 /* pos */
            iload 3 /* escapeOffset */
            isub
         7: .line 851
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* escapePos */
        start local 4 // int escapePos
         8: .line 853
            iload 4 /* escapePos */
            iload 2 /* pos */
            if_icmpgt 12
            iload 4 /* escapePos */
            iflt 12
         9: .line 857
            iload 4 /* escapePos */
        10: .line 858
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getEscapedDelimiter:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
        11: .line 857
            iadd
            ireturn
        12: .line 860
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        end local 4 // int escapePos
        end local 3 // int escapeOffset
        end local 2 // int pos
        end local 1 // java.lang.String key
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0   13     1           key  Ljava/lang/String;
            0   13     2           pos  I
            3   13     3  escapeOffset  I
            8   13     4     escapePos  I
    MethodParameters:
      Name  Flags
      key   final
      pos   final

  private int escapeOffset();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 882
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getEscapedDelimiter:()Ljava/lang/String;
         1: .line 883
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getPropertyDelimiter:()Ljava/lang/String;
         2: .line 882
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;

  private boolean checkAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
         0: .line 895
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 1 /* key */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.isAttributeKey:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 897
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            aload 1 /* key */
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.removeAttributeMarkers:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         2: .line 898
            iconst_1
            ireturn
         3: .line 900
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String key
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0    4     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  private boolean checkIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
         0: .line 912
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 916
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getIndexStart:()Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* idx */
        start local 3 // int idx
         2: .line 917
            iload 3 /* idx */
            ifle 13
         3: .line 919
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getIndexEnd:()Ljava/lang/String;
         4: .line 920
            iload 3 /* idx */
         5: .line 919
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* endidx */
        start local 4 // int endidx
         6: .line 922
            iload 4 /* endidx */
            iload 3 /* idx */
            iconst_1
            iadd
            if_icmple 13
         7: .line 924
            aload 0 /* this */
            aload 1 /* key */
            iload 3 /* idx */
            iconst_1
            iadd
            iload 4 /* endidx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
         8: .line 925
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            iload 3 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         9: .line 926
            iconst_1
            istore 2 /* result */
        end local 4 // int endidx
        end local 3 // int idx
        10: .line 929
            goto 13
        11: .line 930
      StackMap locals: org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator java.lang.String int
      StackMap stack: java.lang.NumberFormatException
            pop
        12: .line 932
            iconst_0
            istore 2 /* result */
        13: .line 935
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.String key
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
            0   14     1     key  Ljava/lang/String;
            1   14     2  result  Z
            2   10     3     idx  I
            6   10     4  endidx  I
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      key   final

  private boolean isAttributeEmulatingMode();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 952
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getAttributeEnd:()Ljava/lang/String;
            ifnonnull 7
         1: .line 953
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
         2: .line 954
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getPropertyDelimiter:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration2.tree.DefaultConfigurationKey.getSymbols:()Lorg/apache/commons/configuration2/tree/DefaultExpressionEngineSymbols;
         3: .line 955
            invokevirtual org.apache.commons.configuration2.tree.DefaultExpressionEngineSymbols.getAttributeStart:()Ljava/lang/String;
         4: .line 953
            invokestatic org.apache.commons.lang3.StringUtils.equals:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
         5: .line 955
            ifeq 7
         6: .line 952
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 0 // org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/configuration2/tree/DefaultConfigurationKey$KeyIterator;
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/Object;>;Ljava/lang/Cloneable;
SourceFile: "DefaultConfigurationKey.java"
NestHost: org.apache.commons.configuration2.tree.DefaultConfigurationKey
InnerClasses:
  public KeyIterator = org.apache.commons.configuration2.tree.DefaultConfigurationKey$KeyIterator of org.apache.commons.configuration2.tree.DefaultConfigurationKey