public class org.apache.commons.configuration.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.configuration.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.configuration.tree.DefaultConfigurationKey this$0;
    descriptor: Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.apache.commons.configuration.tree.DefaultConfigurationKey);
    descriptor: (Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 463
            aload 0 /* this */
            aload 1
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 491
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextKey:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // boolean decorated
         0: .line 506
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasNext:()Z
            ifne 2
         1: .line 508
            new java.util.NoSuchElementException
            dup
            ldc "No more key parts!"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
         3: .line 512
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
         4: .line 513
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.findNextIndices:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         5: .line 515
            aload 0 /* this */
            aload 2 /* key */
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         6: .line 516
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.checkIndex:(Ljava/lang/String;)Z
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
         7: .line 517
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.checkAttribute:(Ljava/lang/String;)Z
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.attribute:Z
         8: .line 519
            aload 0 /* this */
            iload 1 /* decorated */
            invokevirtual org.apache.commons.configuration.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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0    9     1  decorated  Z
            5    9     2        key  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      decorated  

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 529
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 539
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextKey:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 548
            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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 560
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.currentKey:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // boolean decorated
         0: .line 575
            iload 1 /* decorated */
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isPropertyKey:()Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.constructAttributeKey:(Ljava/lang/String;)Ljava/lang/String;
            goto 2
         1: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         2: .line 575
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // boolean decorated
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0    3     1  decorated  Z
    MethodParameters:
           Name  Flags
      decorated  

  public boolean isAttribute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 589
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.attribute:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.isAttributeEmulatingMode:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 604
            aload 0 /* this */
            getfield org.apache.commons.configuration.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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 616
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
            ireturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 627
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.hasIndex:Z
            ireturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 640
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
         1: areturn
         2: .line 642
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         3: .line 645
            aconst_null
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 656
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         1: .line 658
            goto 5
         2: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getPropertyDelimiter:()Ljava/lang/String;
         3: .line 662
            invokevirtual java.lang.String.length:()I
            iadd
         4: .line 661
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         5: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.length:()I
            if_icmpge 7
         6: .line 659
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            invokevirtual java.lang.StringBuilder.substring:(I)Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.hasLeadingDelimiter:(Ljava/lang/String;)Z
            ifne 2
         7: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.length:()I
            if_icmplt 11
         8: .line 668
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.length:()I
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
         9: .line 669
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            iconst_1
            isub
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
        10: .line 670
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            areturn
        11: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextKeyPart:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 686
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         1: .line 687
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getAttributeStart:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         2: .line 686
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 1 /* attrIdx */
        start local 1 // int attrIdx
         3: .line 688
            iload 1 /* attrIdx */
            iflt 4
            iload 1 /* attrIdx */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            if_icmpne 5
         4: .line 690
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.length:()I
            istore 1 /* attrIdx */
         5: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
         6: .line 694
            iload 1 /* attrIdx */
         7: .line 693
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.nextDelimiterPos:(Ljava/lang/String;II)I
            istore 2 /* delIdx */
        start local 2 // int delIdx
         8: .line 695
            iload 2 /* delIdx */
            ifge 10
         9: .line 697
            iload 1 /* attrIdx */
            istore 2 /* delIdx */
        10: .line 700
      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.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
        11: .line 701
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey.keyBuffer:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.startIndex:I
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.endIndex:I
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            invokevirtual org.apache.commons.configuration.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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
        start local 2 // int pos
        start local 3 // int endPos
         0: .line 714
            iload 2 /* pos */
            istore 4 /* delimiterPos */
        start local 4 // int delimiterPos
         1: .line 715
            iconst_0
            istore 5 /* found */
        start local 5 // boolean found
         2: .line 719
      StackMap locals: int int
      StackMap stack:
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
         3: .line 720
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getPropertyDelimiter:()Ljava/lang/String;
            iload 4 /* delimiterPos */
         4: .line 719
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* delimiterPos */
         5: .line 721
            iload 4 /* delimiterPos */
            iflt 6
            iload 4 /* delimiterPos */
            iload 3 /* endPos */
            if_icmplt 7
         6: .line 723
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         7: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* delimiterPos */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.escapedPosition:(Ljava/lang/String;I)I
            istore 6 /* escapePos */
        start local 6 // int escapePos
         8: .line 726
            iload 6 /* escapePos */
            ifge 11
         9: .line 728
            iconst_1
            istore 5 /* found */
        10: .line 729
            goto 12
        11: .line 732
      StackMap locals: int
      StackMap stack:
            iload 6 /* escapePos */
            istore 4 /* delimiterPos */
        end local 6 // int escapePos
        12: .line 735
      StackMap locals:
      StackMap stack:
            iload 5 /* found */
            ifeq 2
        13: .line 737
            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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/apache/commons/configuration/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     
      pos     
      endPos  

  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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
        start local 2 // int pos
         0: .line 751
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getEscapedDelimiter:()Ljava/lang/String;
            ifnonnull 2
         1: .line 754
            iconst_m1
            ireturn
         2: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.escapeOffset:()I
            istore 3 /* escapeOffset */
        start local 3 // int escapeOffset
         3: .line 757
            iload 3 /* escapeOffset */
            iflt 4
            iload 3 /* escapeOffset */
            iload 2 /* pos */
            if_icmple 5
         4: .line 760
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
         5: .line 763
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
         6: .line 764
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getEscapedDelimiter:()Ljava/lang/String;
            iload 2 /* pos */
            iload 3 /* escapeOffset */
            isub
         7: .line 763
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* escapePos */
        start local 4 // int escapePos
         8: .line 765
            iload 4 /* escapePos */
            iload 2 /* pos */
            if_icmpgt 12
            iload 4 /* escapePos */
            iflt 12
         9: .line 769
            iload 4 /* escapePos */
        10: .line 770
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getEscapedDelimiter:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
        11: .line 769
            iadd
            ireturn
        12: .line 774
      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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/apache/commons/configuration/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   
      pos   

  private int escapeOffset();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
         0: .line 797
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getEscapedDelimiter:()Ljava/lang/String;
         1: .line 798
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getPropertyDelimiter:()Ljava/lang/String;
         2: .line 797
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ireturn
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration/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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
         0: .line 810
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 1 /* key */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.isAttributeKey:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 812
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            aload 1 /* key */
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.removeAttributeMarkers:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         2: .line 813
            iconst_1
            ireturn
         3: .line 817
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String key
        end local 0 // org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration/tree/DefaultConfigurationKey$KeyIterator;
            0    4     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  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.configuration.tree.DefaultConfigurationKey$KeyIterator this
        start local 1 // java.lang.String key
         0: .line 830
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 834
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getIndexStart:()Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* idx */
        start local 3 // int idx
         2: .line 835
            iload 3 /* idx */
            ifle 13
         3: .line 837
            aload 1 /* key */
            aload 0 /* this */
            getfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.this$0:Lorg/apache/commons/configuration/tree/DefaultConfigurationKey;
            invokevirtual org.apache.commons.configuration.tree.DefaultConfigurationKey.getExpressionEngine:()Lorg/apache/commons/configuration/tree/DefaultExpressionEngine;
            invokevirtual org.apache.commons.configuration.tree.DefaultExpressionEngine.getIndexEnd:()Ljava/lang/String;
         4: .line 838
            iload 3 /* idx */
         5: .line 837
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* endidx */
        start local 4 // int endidx
         6: .line 840
            iload 4 /* endidx */
            iload 3 /* idx */
            iconst_1
            iadd
            if_icmple 13
         7: .line 842
            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.configuration.tree.DefaultConfigurationKey$KeyIterator.indexValue:I
         8: .line 843
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            iload 3 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator.current:Ljava/lang/String;
         9: .line 844
            iconst_1
            istore 2 /* result */
        end local 4 // int endidx
        end local 3 // int idx
        10: .line 847
            goto 13
        11: .line 848
      StackMap locals: org.apache.commons.configuration.tree.DefaultConfigurationKey$KeyIterator java.lang.String int
      StackMap stack: java.lang.NumberFormatException
            pop
        12: .line 850
            iconst_0
            istore 2 /* result */
        13: .line 853
      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.configuration.tree.DefaultConfigurationKey$KeyIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/apache/commons/configuration/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   

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