class org.apache.commons.collections.map.Flat3Map$EntrySetIterator implements java.util.Iterator, java.util.Map$Entry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.collections.map.Flat3Map$EntrySetIterator
  super_class: java.lang.Object
{
  private final org.apache.commons.collections.map.Flat3Map parent;
    descriptor: Lorg/apache/commons/collections/map/Flat3Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  void <init>(org.apache.commons.collections.map.Flat3Map);
    descriptor: (Lorg/apache/commons/collections/map/Flat3Map;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
        start local 1 // org.apache.commons.collections.map.Flat3Map parent
         0: .line 743
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 739
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
         2: .line 740
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
         3: .line 744
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
         4: .line 745
            return
        end local 1 // org.apache.commons.collections.map.Flat3Map parent
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;
            0    5     1  parent  Lorg/apache/commons/collections/map/Flat3Map;
    MethodParameters:
        Name  Flags
      parent  

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 748
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.size:I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 752
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.hasNext:()Z
            ifne 2
         1: .line 753
            new java.util.NoSuchElementException
            dup
            ldc "No next() entry in the iteration"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
         3: .line 756
            aload 0 /* this */
            dup
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            iconst_1
            iadd
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
         4: .line 757
            aload 0 /* this */
            areturn
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 761
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 762
            new java.lang.IllegalStateException
            dup
            ldc "remove() can only be called once after next()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getKey:()Ljava/lang/Object;
            invokevirtual org.apache.commons.collections.map.Flat3Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 765
            aload 0 /* this */
            dup
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            iconst_1
            isub
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
         4: .line 766
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
         5: .line 767
            return
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;

  public java.lang.Object getKey();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 770
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 771
            new java.lang.IllegalStateException
            dup
            ldc "getKey() can only be called after next() and before remove()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            tableswitch { // 1 - 3
                    1: 5
                    2: 4
                    3: 3
              default: 6
          }
         3: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.key3:Ljava/lang/Object;
            areturn
         4: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.key2:Ljava/lang/Object;
            areturn
         5: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.key1:Ljava/lang/Object;
            areturn
         6: .line 781
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Invalid map index"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;

  public java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 785
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 786
            new java.lang.IllegalStateException
            dup
            ldc "getValue() can only be called after next() and before remove()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            tableswitch { // 1 - 3
                    1: 5
                    2: 4
                    3: 3
              default: 6
          }
         3: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.value3:Ljava/lang/Object;
            areturn
         4: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.value2:Ljava/lang/Object;
            areturn
         5: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            getfield org.apache.commons.collections.map.Flat3Map.value1:Ljava/lang/Object;
            areturn
         6: .line 796
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Invalid map index"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;

  public java.lang.Object setValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
        start local 1 // java.lang.Object value
         0: .line 800
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 801
            new java.lang.IllegalStateException
            dup
            ldc "setValue() can only be called after next() and before remove()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getValue:()Ljava/lang/Object;
            astore 2 /* old */
        start local 2 // java.lang.Object old
         3: .line 804
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.nextIndex:I
            tableswitch { // 1 - 3
                    1: 8
                    2: 6
                    3: 4
              default: 9
          }
         4: .line 806
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            aload 1 /* value */
            putfield org.apache.commons.collections.map.Flat3Map.value3:Ljava/lang/Object;
         5: .line 807
            goto 9
         6: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            aload 1 /* value */
            putfield org.apache.commons.collections.map.Flat3Map.value2:Ljava/lang/Object;
         7: .line 810
            goto 9
         8: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.parent:Lorg/apache/commons/collections/map/Flat3Map;
            aload 1 /* value */
            putfield org.apache.commons.collections.map.Flat3Map.value1:Ljava/lang/Object;
         9: .line 815
      StackMap locals:
      StackMap stack:
            aload 2 /* old */
            areturn
        end local 2 // java.lang.Object old
        end local 1 // java.lang.Object value
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;
            0   10     1  value  Ljava/lang/Object;
            3   10     2    old  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
        start local 1 // java.lang.Object obj
         0: .line 819
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 820
            iconst_0
            ireturn
         2: .line 822
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.Map$Entry
            ifne 4
         3: .line 823
            iconst_0
            ireturn
         4: .line 825
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast java.util.Map$Entry
            astore 2 /* other */
        start local 2 // java.util.Map$Entry other
         5: .line 826
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getKey:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         6: .line 827
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getValue:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         7: .line 828
            aload 3 /* key */
            ifnonnull 8
            aload 2 /* other */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            ifnonnull 12
            goto 9
      StackMap locals: java.util.Map$Entry java.lang.Object java.lang.Object
      StackMap stack:
         8: aload 3 /* key */
            aload 2 /* other */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 829
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            ifnonnull 10
            aload 2 /* other */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnonnull 12
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4 /* value */
            aload 2 /* other */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 828
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Object key
        end local 2 // java.util.Map$Entry other
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;
            0   13     1    obj  Ljava/lang/Object;
            5   13     2  other  Ljava/util/Map$Entry;
            6   13     3    key  Ljava/lang/Object;
            7   13     4  value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 833
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifne 2
         1: .line 834
            iconst_0
            ireturn
         2: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getKey:()Ljava/lang/Object;
            astore 1 /* key */
        start local 1 // java.lang.Object key
         3: .line 837
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getValue:()Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         4: .line 838
            aload 1 /* key */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
         5: aload 1 /* key */
            invokevirtual java.lang.Object.hashCode:()I
         6: .line 839
      StackMap locals:
      StackMap stack: int
            aload 2 /* value */
            ifnonnull 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack: int
         7: aload 2 /* value */
            invokevirtual java.lang.Object.hashCode:()I
         8: .line 838
      StackMap locals: org.apache.commons.collections.map.Flat3Map$EntrySetIterator java.lang.Object java.lang.Object
      StackMap stack: int int
            ixor
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;
            3    9     1    key  Ljava/lang/Object;
            4    9     2  value  Ljava/lang/Object;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
         0: .line 843
            aload 0 /* this */
            getfield org.apache.commons.collections.map.Flat3Map$EntrySetIterator.canRemove:Z
            ifeq 2
         1: .line 844
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.map.Flat3Map$EntrySetIterator.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 846
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 0 // org.apache.commons.collections.map.Flat3Map$EntrySetIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/collections/map/Flat3Map$EntrySetIterator;
}
SourceFile: "Flat3Map.java"
NestHost: org.apache.commons.collections.map.Flat3Map
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  EntrySetIterator = org.apache.commons.collections.map.Flat3Map$EntrySetIterator of org.apache.commons.collections.map.Flat3Map