class org.ehcache.core.EhcacheBase$CacheEntryIterator implements java.util.Iterator<org.ehcache.Cache$Entry<K, V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.ehcache.core.EhcacheBase$CacheEntryIterator
  super_class: java.lang.Object
{
  private final org.ehcache.core.spi.store.Store$Iterator<org.ehcache.Cache$Entry<K, org.ehcache.core.spi.store.Store$ValueHolder<V>>> iterator;
    descriptor: Lorg/ehcache/core/spi/store/Store$Iterator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/core/spi/store/Store$Iterator<Lorg/ehcache/Cache$Entry<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;>;

  private org.ehcache.Cache$Entry<K, org.ehcache.core.spi.store.Store$ValueHolder<V>> current;
    descriptor: Lorg/ehcache/Cache$Entry;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/ehcache/Cache$Entry<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;

  private org.ehcache.Cache$Entry<K, org.ehcache.core.spi.store.Store$ValueHolder<V>> next;
    descriptor: Lorg/ehcache/Cache$Entry;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/ehcache/Cache$Entry<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;

  private org.ehcache.spi.resilience.StoreAccessException nextException;
    descriptor: Lorg/ehcache/spi/resilience/StoreAccessException;
    flags: (0x0002) ACC_PRIVATE

  final org.ehcache.core.EhcacheBase this$0;
    descriptor: Lorg/ehcache/core/EhcacheBase;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.ehcache.core.EhcacheBase);
    descriptor: (Lorg/ehcache/core/EhcacheBase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
         0: .line 728
            aload 0 /* this */
            aload 1
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 729
            aload 0 /* this */
            aload 1
            getfield org.ehcache.core.EhcacheBase.store:Lorg/ehcache/core/spi/store/Store;
            invokeinterface org.ehcache.core.spi.store.Store.iterator:()Lorg/ehcache/core/spi/store/Store$Iterator;
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.iterator:Lorg/ehcache/core/spi/store/Store$Iterator;
         2: .line 730
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheBase$CacheEntryIterator.advance:()V
         3: .line 731
            return
        end local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/ehcache/core/EhcacheBase$CacheEntryIterator;
    MethodParameters:
        Name  Flags
      this$0  final

  private void advance();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
         0: .line 735
            goto 4
         1: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.iterator:Lorg/ehcache/core/spi/store/Store$Iterator;
            invokeinterface org.ehcache.core.spi.store.Store$Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.Cache$Entry
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
         2: .line 737
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
            ifnull 4
         3: .line 738
            return
         4: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.iterator:Lorg/ehcache/core/spi/store/Store$Iterator;
            invokeinterface org.ehcache.core.spi.store.Store$Iterator.hasNext:()Z
            ifne 1
         5: .line 741
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
         6: .line 742
            goto 14
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 1 /* re */
        start local 1 // java.lang.RuntimeException re
         8: .line 743
            aload 0 /* this */
            new org.ehcache.spi.resilience.StoreAccessException
            dup
            aload 1 /* re */
            invokespecial org.ehcache.spi.resilience.StoreAccessException.<init>:(Ljava/lang/Throwable;)V
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
         9: .line 744
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
        end local 1 // java.lang.RuntimeException re
        10: goto 14
        11: .line 745
      StackMap locals:
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
            astore 1 /* cae */
        start local 1 // org.ehcache.spi.resilience.StoreAccessException cae
        12: .line 746
            aload 0 /* this */
            aload 1 /* cae */
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
        13: .line 747
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
        end local 1 // org.ehcache.spi.resilience.StoreAccessException cae
        14: .line 749
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/ehcache/core/EhcacheBase$CacheEntryIterator;
            8   10     1    re  Ljava/lang/RuntimeException;
           12   14     1   cae  Lorg/ehcache/spi/resilience/StoreAccessException;
      Exception table:
        from    to  target  type
           0     3       7  Class java.lang.RuntimeException
           4     6       7  Class java.lang.RuntimeException
           0     3      11  Class org.ehcache.spi.resilience.StoreAccessException
           4     6      11  Class org.ehcache.spi.resilience.StoreAccessException

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
         0: .line 753
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         1: .line 754
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
            ifnonnull 2
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
            ifnonnull 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/core/EhcacheBase$CacheEntryIterator;

  public org.ehcache.Cache$Entry<K, V> next();
    descriptor: ()Lorg/ehcache/Cache$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
         0: .line 759
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheBase$CacheEntryIterator.hasNext:()Z
            ifne 2
         1: .line 760
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 764
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
            ifnonnull 8
         4: .line 765
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         5: .line 766
            aload 0 /* this */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.next:Lorg/ehcache/Cache$Entry;
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
         6: .line 767
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheBase$CacheEntryIterator.advance:()V
         7: .line 768
            new org.ehcache.core.EhcacheBase$ValueHolderBasedEntry
            dup
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
            invokespecial org.ehcache.core.EhcacheBase$ValueHolderBasedEntry.<init>:(Lorg/ehcache/Cache$Entry;)V
            areturn
         8: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.FAILURE:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         9: .line 771
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
            astore 1 /* cae */
        start local 1 // org.ehcache.spi.resilience.StoreAccessException cae
        10: .line 772
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.nextException:Lorg/ehcache/spi/resilience/StoreAccessException;
        11: .line 773
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.resilienceStrategy:Lorg/ehcache/spi/resilience/ResilienceStrategy;
            aload 1 /* cae */
            invokeinterface org.ehcache.spi.resilience.ResilienceStrategy.iteratorFailure:(Lorg/ehcache/spi/resilience/StoreAccessException;)Lorg/ehcache/Cache$Entry;
            areturn
        end local 1 // org.ehcache.spi.resilience.StoreAccessException cae
        end local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/ehcache/core/EhcacheBase$CacheEntryIterator;
           10   12     1   cae  Lorg/ehcache/spi/resilience/StoreAccessException;
    Signature: ()Lorg/ehcache/Cache$Entry<TK;TV;>;

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
         0: .line 779
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            getfield org.ehcache.core.EhcacheBase.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         1: .line 780
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
            ifnonnull 3
         2: .line 781
            new java.lang.IllegalStateException
            dup
            ldc "No current element"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.this$0:Lorg/ehcache/core/EhcacheBase;
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
            invokeinterface org.ehcache.Cache$Entry.getKey:()Ljava/lang/Object;
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
            invokeinterface org.ehcache.Cache$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.get:()Ljava/lang/Object;
            invokevirtual org.ehcache.core.EhcacheBase.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         4: .line 784
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.core.EhcacheBase$CacheEntryIterator.current:Lorg/ehcache/Cache$Entry;
         5: .line 785
            return
        end local 0 // org.ehcache.core.EhcacheBase$CacheEntryIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/ehcache/core/EhcacheBase$CacheEntryIterator;

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.ehcache.core.EhcacheBase$CacheEntryIterator.next:()Lorg/ehcache/Cache$Entry;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<Lorg/ehcache/Cache$Entry<TK;TV;>;>;
SourceFile: "EhcacheBase.java"
NestHost: org.ehcache.core.EhcacheBase
InnerClasses:
  public abstract Entry = org.ehcache.Cache$Entry of org.ehcache.Cache
  private CacheEntryIterator = org.ehcache.core.EhcacheBase$CacheEntryIterator of org.ehcache.core.EhcacheBase
  private ValueHolderBasedEntry = org.ehcache.core.EhcacheBase$ValueHolderBasedEntry of org.ehcache.core.EhcacheBase
  public abstract Iterator = org.ehcache.core.spi.store.Store$Iterator of org.ehcache.core.spi.store.Store
  public abstract ValueHolder = org.ehcache.core.spi.store.Store$ValueHolder of org.ehcache.core.spi.store.Store
  public final GetOutcome = org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome of org.ehcache.core.statistics.CacheOperationOutcomes