public class org.ehcache.impl.internal.store.heap.OnHeapStore<K, V> extends org.ehcache.impl.store.BaseStore<K, V> implements org.ehcache.core.spi.store.tiering.HigherCachingTier<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.ehcache.impl.internal.store.heap.OnHeapStore
  super_class: org.ehcache.impl.store.BaseStore
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int ATTEMPT_RATIO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int EVICTION_RATIO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final org.ehcache.config.EvictionAdvisor<java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<?>> EVICTION_ADVISOR;
    descriptor: Lorg/ehcache/config/EvictionAdvisor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/ehcache/config/EvictionAdvisor<Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<*>;>;

  private static final java.util.Comparator<org.ehcache.core.spi.store.Store$ValueHolder<?>> EVICTION_PRIORITIZER;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/ehcache/core/spi/store/Store$ValueHolder<*>;>;

  private static final org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener<?, ?> NULL_INVALIDATION_LISTENER;
    descriptor: Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener<**>;

  static final int SAMPLE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private final org.ehcache.impl.internal.store.heap.Backend<K, V> map;
    descriptor: Lorg/ehcache/impl/internal/store/heap/Backend;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;

  private final org.ehcache.spi.copy.Copier<V> valueCopier;
    descriptor: Lorg/ehcache/spi/copy/Copier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/spi/copy/Copier<TV;>;

  private final org.ehcache.core.spi.store.heap.SizeOfEngine sizeOfEngine;
    descriptor: Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.ehcache.impl.internal.store.heap.OnHeapStrategy<K, V> strategy;
    descriptor: Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy<TK;TV;>;

  private volatile long capacity;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.ehcache.config.EvictionAdvisor<? super K, ? super V> evictionAdvisor;
    descriptor: Lorg/ehcache/config/EvictionAdvisor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/config/EvictionAdvisor<-TK;-TV;>;

  private final org.ehcache.expiry.ExpiryPolicy<? super K, ? super V> expiry;
    descriptor: Lorg/ehcache/expiry/ExpiryPolicy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;

  private final org.ehcache.core.spi.time.TimeSource timeSource;
    descriptor: Lorg/ehcache/core/spi/time/TimeSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.ehcache.core.events.StoreEventDispatcher<K, V> storeEventDispatcher;
    descriptor: Lorg/ehcache/core/events/StoreEventDispatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/core/events/StoreEventDispatcher<TK;TV;>;

  private volatile org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener<K, V> invalidationListener;
    descriptor: Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener<TK;TV;>;

  private final org.ehcache.core.CacheConfigurationChangeListener cacheConfigurationChangeListener;
    descriptor: Lorg/ehcache/core/CacheConfigurationChangeListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome> getObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome> putObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome> removeObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome> putIfAbsentObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome> conditionalRemoveObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome> replaceObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome> conditionalReplaceObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome> computeObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome> computeIfAbsentObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome> evictionObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$ExpirationOutcome> expirationObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ExpirationOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome> getOrComputeIfAbsentObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome> invalidateObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome> invalidateAllObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllWithHashOutcome> invalidateAllWithHashObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllWithHashOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome> silentInvalidateObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome> silentInvalidateAllObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;>;

  private final org.terracotta.statistics.observer.OperationObserver<org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome> silentInvalidateAllWithHashObserver;
    descriptor: Lorg/terracotta/statistics/observer/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/terracotta/statistics/observer/OperationObserver<Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome;>;

  private static final java.util.function.Supplier<java.lang.Boolean> REPLACE_EQUALS_TRUE;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/lang/Boolean;>;

  private static volatile int[] $SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$PutOutcome;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$RemoveOutcome;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$ehcache$core$spi$store$Store$RemoveStatus;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$ehcache$core$spi$store$Store$ReplaceStatus;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 121
            ldc Lorg/ehcache/impl/internal/store/heap/OnHeapStore;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
         1: .line 126
            invokedynamic adviseAgainstEviction()Lorg/ehcache/config/EvictionAdvisor;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Z
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$0(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z (6)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.EVICTION_ADVISOR:Lorg/ehcache/config/EvictionAdvisor;
         2: .line 132
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$1(Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/spi/store/Store$ValueHolder;)I (6)
                  (Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/spi/store/Store$ValueHolder;)I
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.EVICTION_PRIORITIZER:Ljava/util/Comparator;
         3: .line 142
            invokedynamic onInvalidation()Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$2(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V (6)
                  (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.NULL_INVALIDATION_LISTENER:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
         4: .line 202
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$3()Ljava/lang/Boolean; (6)
                  ()Ljava/lang/Boolean;
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.REPLACE_EQUALS_TRUE:Ljava/util/function/Supplier;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.ehcache.core.spi.store.Store$Configuration<K, V>, org.ehcache.core.spi.time.TimeSource, org.ehcache.spi.copy.Copier<K>, org.ehcache.spi.copy.Copier<V>, org.ehcache.core.spi.store.heap.SizeOfEngine, org.ehcache.core.events.StoreEventDispatcher<K, V>);
    descriptor: (Lorg/ehcache/core/spi/store/Store$Configuration;Lorg/ehcache/core/spi/time/TimeSource;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/core/spi/store/heap/SizeOfEngine;Lorg/ehcache/core/events/StoreEventDispatcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.core.spi.store.Store$Configuration config
        start local 2 // org.ehcache.core.spi.time.TimeSource timeSource
        start local 3 // org.ehcache.spi.copy.Copier keyCopier
        start local 4 // org.ehcache.spi.copy.Copier valueCopier
        start local 5 // org.ehcache.core.spi.store.heap.SizeOfEngine sizeOfEngine
        start local 6 // org.ehcache.core.events.StoreEventDispatcher eventDispatcher
         0: .line 205
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* timeSource */
            aload 3 /* keyCopier */
            aload 4 /* valueCopier */
            aload 5 /* sizeOfEngine */
            aload 6 /* eventDispatcher */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/concurrent/ConcurrentHashMap.<init>()V (8)
                  ()Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap;
            invokespecial org.ehcache.impl.internal.store.heap.OnHeapStore.<init>:(Lorg/ehcache/core/spi/store/Store$Configuration;Lorg/ehcache/core/spi/time/TimeSource;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/core/spi/store/heap/SizeOfEngine;Lorg/ehcache/core/events/StoreEventDispatcher;Ljava/util/function/Supplier;)V
         1: .line 206
            return
        end local 6 // org.ehcache.core.events.StoreEventDispatcher eventDispatcher
        end local 5 // org.ehcache.core.spi.store.heap.SizeOfEngine sizeOfEngine
        end local 4 // org.ehcache.spi.copy.Copier valueCopier
        end local 3 // org.ehcache.spi.copy.Copier keyCopier
        end local 2 // org.ehcache.core.spi.time.TimeSource timeSource
        end local 1 // org.ehcache.core.spi.store.Store$Configuration config
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    2     1           config  Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;
            0    2     2       timeSource  Lorg/ehcache/core/spi/time/TimeSource;
            0    2     3        keyCopier  Lorg/ehcache/spi/copy/Copier<TK;>;
            0    2     4      valueCopier  Lorg/ehcache/spi/copy/Copier<TV;>;
            0    2     5     sizeOfEngine  Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
            0    2     6  eventDispatcher  Lorg/ehcache/core/events/StoreEventDispatcher<TK;TV;>;
    Signature: (Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;Lorg/ehcache/core/spi/time/TimeSource;Lorg/ehcache/spi/copy/Copier<TK;>;Lorg/ehcache/spi/copy/Copier<TV;>;Lorg/ehcache/core/spi/store/heap/SizeOfEngine;Lorg/ehcache/core/events/StoreEventDispatcher<TK;TV;>;)V
    MethodParameters:
                 Name  Flags
      config           
      timeSource       
      keyCopier        
      valueCopier      
      sizeOfEngine     
      eventDispatcher  

  public void <init>(org.ehcache.core.spi.store.Store$Configuration<K, V>, org.ehcache.core.spi.time.TimeSource, org.ehcache.spi.copy.Copier<K>, org.ehcache.spi.copy.Copier<V>, org.ehcache.core.spi.store.heap.SizeOfEngine, org.ehcache.core.events.StoreEventDispatcher<K, V>, java.util.function.Supplier<org.ehcache.impl.internal.concurrent.EvictingConcurrentMap<?, ?>>);
    descriptor: (Lorg/ehcache/core/spi/store/Store$Configuration;Lorg/ehcache/core/spi/time/TimeSource;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/spi/copy/Copier;Lorg/ehcache/core/spi/store/heap/SizeOfEngine;Lorg/ehcache/core/events/StoreEventDispatcher;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=8
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.core.spi.store.Store$Configuration config
        start local 2 // org.ehcache.core.spi.time.TimeSource timeSource
        start local 3 // org.ehcache.spi.copy.Copier keyCopier
        start local 4 // org.ehcache.spi.copy.Copier valueCopier
        start local 5 // org.ehcache.core.spi.store.heap.SizeOfEngine sizeOfEngine
        start local 6 // org.ehcache.core.events.StoreEventDispatcher eventDispatcher
        start local 7 // java.util.function.Supplier backingMapSupplier
         0: .line 210
            aload 0 /* this */
            aload 1 /* config */
            invokespecial org.ehcache.impl.store.BaseStore.<init>:(Lorg/ehcache/core/spi/store/Store$Configuration;)V
         1: .line 160
            aload 0 /* this */
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.NULL_INVALIDATION_LISTENER:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
         2: .line 162
            aload 0 /* this */
            new org.ehcache.impl.internal.store.heap.OnHeapStore$1
            dup
            aload 0 /* this */
            invokespecial org.ehcache.impl.internal.store.heap.OnHeapStore$1.<init>:(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;)V
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.cacheConfigurationChangeListener:Lorg/ehcache/core/CacheConfigurationChangeListener;
         3: .line 212
            aload 3 /* keyCopier */
            ldc "keyCopier must not be null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 214
            aload 0 /* this */
            aload 4 /* valueCopier */
            ldc "valueCopier must not be null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.ehcache.spi.copy.Copier
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
         5: .line 215
            aload 0 /* this */
            aload 2 /* timeSource */
            ldc "timeSource must not be null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.time.TimeSource
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
         6: .line 216
            aload 0 /* this */
            aload 5 /* sizeOfEngine */
            ldc "sizeOfEngine must not be null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.heap.SizeOfEngine
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.sizeOfEngine:Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
         7: .line 218
            aload 1 /* config */
            invokeinterface org.ehcache.core.spi.store.Store$Configuration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            getstatic org.ehcache.config.ResourceType$Core.HEAP:Lorg/ehcache/config/ResourceType$Core;
            invokeinterface org.ehcache.config.ResourcePools.getPoolForResource:(Lorg/ehcache/config/ResourceType;)Lorg/ehcache/config/ResourcePool;
            checkcast org.ehcache.config.SizedResourcePool
            astore 8 /* heapPool */
        start local 8 // org.ehcache.config.SizedResourcePool heapPool
         8: .line 219
            aload 8 /* heapPool */
            ifnonnull 10
         9: .line 220
            new java.lang.IllegalArgumentException
            dup
            ldc "OnHeap store must be configured with a resource of type 'heap'"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 223
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore org.ehcache.core.spi.store.Store$Configuration org.ehcache.core.spi.time.TimeSource org.ehcache.spi.copy.Copier org.ehcache.spi.copy.Copier org.ehcache.core.spi.store.heap.SizeOfEngine org.ehcache.core.events.StoreEventDispatcher java.util.function.Supplier org.ehcache.config.SizedResourcePool
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.sizeOfEngine:Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
            instanceof org.ehcache.impl.internal.sizeof.NoopSizeOfEngine
            ifeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 9 /* byteSized */
        start local 9 // boolean byteSized
        13: .line 224
            aload 0 /* this */
            iload 9 /* byteSized */
            ifeq 14
            aload 8 /* heapPool */
            invokeinterface org.ehcache.config.SizedResourcePool.getUnit:()Lorg/ehcache/config/ResourceUnit;
            checkcast org.ehcache.config.units.MemoryUnit
            aload 8 /* heapPool */
            invokeinterface org.ehcache.config.SizedResourcePool.getSize:()J
            invokevirtual org.ehcache.config.units.MemoryUnit.toBytes:(J)J
            goto 15
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore org.ehcache.core.spi.store.Store$Configuration org.ehcache.core.spi.time.TimeSource org.ehcache.spi.copy.Copier org.ehcache.spi.copy.Copier org.ehcache.core.spi.store.heap.SizeOfEngine org.ehcache.core.events.StoreEventDispatcher java.util.function.Supplier org.ehcache.config.SizedResourcePool int
      StackMap stack: org.ehcache.impl.internal.store.heap.OnHeapStore
        14: aload 8 /* heapPool */
            invokeinterface org.ehcache.config.SizedResourcePool.getSize:()J
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore org.ehcache.core.spi.store.Store$Configuration org.ehcache.core.spi.time.TimeSource org.ehcache.spi.copy.Copier org.ehcache.spi.copy.Copier org.ehcache.core.spi.store.heap.SizeOfEngine org.ehcache.core.events.StoreEventDispatcher java.util.function.Supplier org.ehcache.config.SizedResourcePool int
      StackMap stack: org.ehcache.impl.internal.store.heap.OnHeapStore long
        15: putfield org.ehcache.impl.internal.store.heap.OnHeapStore.capacity:J
        16: .line 226
            aload 1 /* config */
            invokeinterface org.ehcache.core.spi.store.Store$Configuration.getEvictionAdvisor:()Lorg/ehcache/config/EvictionAdvisor;
            ifnonnull 19
        17: .line 227
            aload 0 /* this */
            invokestatic org.ehcache.config.Eviction.noAdvice:()Lorg/ehcache/config/EvictionAdvisor;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
        18: .line 228
            goto 20
        19: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokeinterface org.ehcache.core.spi.store.Store$Configuration.getEvictionAdvisor:()Lorg/ehcache/config/EvictionAdvisor;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
        20: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokeinterface org.ehcache.core.spi.store.Store$Configuration.getExpiry:()Lorg/ehcache/expiry/ExpiryPolicy;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
        21: .line 232
            aload 0 /* this */
            aload 6 /* eventDispatcher */
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
        22: .line 234
            aload 3 /* keyCopier */
            instanceof org.ehcache.impl.copy.IdentityCopier
            ifeq 25
        23: .line 235
            aload 0 /* this */
            new org.ehcache.impl.internal.store.heap.SimpleBackend
            dup
            iload 9 /* byteSized */
            aload 0 /* this */
            aload 7 /* backingMapSupplier */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.castBackend:(Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
            invokespecial org.ehcache.impl.internal.store.heap.SimpleBackend.<init>:(ZLjava/util/function/Supplier;)V
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
        24: .line 236
            goto 26
        25: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.ehcache.impl.internal.store.heap.KeyCopyBackend
            dup
            iload 9 /* byteSized */
            aload 3 /* keyCopier */
            aload 0 /* this */
            aload 7 /* backingMapSupplier */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.castBackend:(Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
            invokespecial org.ehcache.impl.internal.store.heap.KeyCopyBackend.<init>:(ZLorg/ehcache/spi/copy/Copier;Ljava/util/function/Supplier;)V
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
        26: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
            aload 2 /* timeSource */
            invokestatic org.ehcache.impl.internal.store.heap.OnHeapStrategy.strategy:(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/expiry/ExpiryPolicy;Lorg/ehcache/core/spi/time/TimeSource;)Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
        27: .line 242
            aload 0 /* this */
            aload 0 /* this */
            ldc "get"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        28: .line 243
            aload 0 /* this */
            aload 0 /* this */
            ldc "put"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        29: .line 244
            aload 0 /* this */
            aload 0 /* this */
            ldc "remove"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        30: .line 245
            aload 0 /* this */
            aload 0 /* this */
            ldc "putIfAbsent"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        31: .line 246
            aload 0 /* this */
            aload 0 /* this */
            ldc "conditionalRemove"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        32: .line 247
            aload 0 /* this */
            aload 0 /* this */
            ldc "replace"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        33: .line 248
            aload 0 /* this */
            aload 0 /* this */
            ldc "conditionalReplace"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        34: .line 249
            aload 0 /* this */
            aload 0 /* this */
            ldc "compute"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        35: .line 250
            aload 0 /* this */
            aload 0 /* this */
            ldc "computeIfAbsent"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        36: .line 251
            aload 0 /* this */
            aload 0 /* this */
            ldc "eviction"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
            iconst_0
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        37: .line 252
            aload 0 /* this */
            aload 0 /* this */
            ldc "expiration"
            ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$ExpirationOutcome;
            iconst_0
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.expirationObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        38: .line 254
            aload 0 /* this */
            aload 0 /* this */
            ldc "getOrComputeIfAbsent"
            ldc Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        39: .line 255
            aload 0 /* this */
            aload 0 /* this */
            ldc "invalidate"
            ldc Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        40: .line 256
            aload 0 /* this */
            aload 0 /* this */
            ldc "invalidateAll"
            ldc Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        41: .line 257
            aload 0 /* this */
            aload 0 /* this */
            ldc "invalidateAllWithHash"
            ldc Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllWithHashOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        42: .line 259
            aload 0 /* this */
            aload 0 /* this */
            ldc "silentInvalidate"
            ldc Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        43: .line 260
            aload 0 /* this */
            aload 0 /* this */
            ldc "silentInvalidateAll"
            ldc Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        44: .line 261
            aload 0 /* this */
            aload 0 /* this */
            ldc "silentInvalidateAllWithHash"
            ldc Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome;
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.createObserver:(Ljava/lang/String;Ljava/lang/Class;Z)Lorg/terracotta/statistics/observer/OperationObserver;
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
        45: .line 263
            new java.util.HashSet
            dup
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getStatisticsTag:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc "tier"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 10 /* tags */
        start local 10 // java.util.Set tags
        46: .line 264
            aload 0 /* this */
            ldc "mappings"
            getstatic org.terracotta.statistics.StatisticType.COUNTER:Lorg/terracotta/statistics/StatisticType;
            aload 10 /* tags */
            aload 0 /* this */
            invokedynamic get(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$5()Ljava/lang/Long; (7)
                  ()Ljava/lang/Long;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/StatisticType;Ljava/util/Set;Ljava/util/function/Supplier;)V
        47: .line 265
            iload 9 /* byteSized */
            ifeq 49
        48: .line 266
            aload 0 /* this */
            ldc "occupiedMemory"
            getstatic org.terracotta.statistics.StatisticType.GAUGE:Lorg/terracotta/statistics/StatisticType;
            aload 10 /* tags */
            aload 0 /* this */
            invokedynamic get(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$6()Ljava/lang/Long; (7)
                  ()Ljava/lang/Long;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.registerStatistic:(Ljava/lang/String;Lorg/terracotta/statistics/StatisticType;Ljava/util/Set;Ljava/util/function/Supplier;)V
        49: .line 268
      StackMap locals: java.util.Set
      StackMap stack:
            return
        end local 10 // java.util.Set tags
        end local 9 // boolean byteSized
        end local 8 // org.ehcache.config.SizedResourcePool heapPool
        end local 7 // java.util.function.Supplier backingMapSupplier
        end local 6 // org.ehcache.core.events.StoreEventDispatcher eventDispatcher
        end local 5 // org.ehcache.core.spi.store.heap.SizeOfEngine sizeOfEngine
        end local 4 // org.ehcache.spi.copy.Copier valueCopier
        end local 3 // org.ehcache.spi.copy.Copier keyCopier
        end local 2 // org.ehcache.core.spi.time.TimeSource timeSource
        end local 1 // org.ehcache.core.spi.store.Store$Configuration config
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   50     0                this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   50     1              config  Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;
            0   50     2          timeSource  Lorg/ehcache/core/spi/time/TimeSource;
            0   50     3           keyCopier  Lorg/ehcache/spi/copy/Copier<TK;>;
            0   50     4         valueCopier  Lorg/ehcache/spi/copy/Copier<TV;>;
            0   50     5        sizeOfEngine  Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
            0   50     6     eventDispatcher  Lorg/ehcache/core/events/StoreEventDispatcher<TK;TV;>;
            0   50     7  backingMapSupplier  Ljava/util/function/Supplier<Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap<**>;>;
            8   50     8            heapPool  Lorg/ehcache/config/SizedResourcePool;
           13   50     9           byteSized  Z
           46   50    10                tags  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;Lorg/ehcache/core/spi/time/TimeSource;Lorg/ehcache/spi/copy/Copier<TK;>;Lorg/ehcache/spi/copy/Copier<TV;>;Lorg/ehcache/core/spi/store/heap/SizeOfEngine;Lorg/ehcache/core/events/StoreEventDispatcher<TK;TV;>;Ljava/util/function/Supplier<Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap<**>;>;)V
    MethodParameters:
                    Name  Flags
      config              
      timeSource          
      keyCopier           
      valueCopier         
      sizeOfEngine        
      eventDispatcher     
      backingMapSupplier  

  protected java.lang.String getStatisticsTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 272
            ldc "OnHeap"
            areturn
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  private <L, M> java.util.function.Supplier<org.ehcache.impl.internal.concurrent.EvictingConcurrentMap<L, M>> castBackend(java.util.function.Supplier<org.ehcache.impl.internal.concurrent.EvictingConcurrentMap<?, ?>>);
    descriptor: (Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.util.function.Supplier backingMap
         0: .line 277
            aload 1 /* backingMap */
            areturn
        end local 1 // java.util.function.Supplier backingMap
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    1     1  backingMap  Ljava/util/function/Supplier<Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap<**>;>;
    Signature: <L:Ljava/lang/Object;M:Ljava/lang/Object;>(Ljava/util/function/Supplier<Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap<**>;>;)Ljava/util/function/Supplier<Lorg/ehcache/impl/internal/concurrent/EvictingConcurrentMap<TL;TM;>;>;
    MethodParameters:
            Name  Flags
      backingMap  

  public org.ehcache.core.spi.store.Store$ValueHolder<V> get(K);
    descriptor: (Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
         0: .line 282
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 284
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 286
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getQuiet:(Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 2 /* mapping */
        start local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
         3: .line 288
            aload 2 /* mapping */
            ifnonnull 6
         4: .line 289
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         5: .line 290
            aconst_null
            areturn
         6: .line 293
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 1 /* key */
            aload 2 /* mapping */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryTimeWhenCallerOutsideLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;J)V
         7: .line 295
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         8: .line 296
            aload 2 /* mapping */
         9: areturn
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
        10: .line 297
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object
      StackMap stack: java.lang.RuntimeException
            astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
        11: .line 298
            aload 2 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 2 // java.lang.RuntimeException re
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   12     1      key  TK;
            3   10     2  mapping  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           11   12     2       re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     5      10  Class java.lang.RuntimeException
           6     9      10  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
      Name  Flags
      key   

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> getQuiet(K);
    descriptor: (Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
         0: .line 304
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.get:(Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 2 /* mapping */
        start local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
         1: .line 305
            aload 2 /* mapping */
            ifnonnull 3
         2: .line 306
            aconst_null
            areturn
         3: .line 309
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 2 /* mapping */
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.isExpired:(Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            ifeq 6
         4: .line 310
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* mapping */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.expireMappingUnderLock:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         5: .line 311
            aconst_null
            areturn
         6: .line 313
      StackMap locals:
      StackMap stack:
            aload 2 /* mapping */
         7: areturn
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
         8: .line 314
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object
      StackMap stack: java.lang.RuntimeException
            astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         9: .line 315
            aload 2 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 2 // java.lang.RuntimeException re
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     1      key  TK;
            1    8     2  mapping  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            9   10     2       re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     2       8  Class java.lang.RuntimeException
           3     5       8  Class java.lang.RuntimeException
           6     7       8  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
      Name  Flags
      key   

  public boolean containsKey();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
         0: .line 321
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 322
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getQuiet:(Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    3     1   key  TK;
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)Z
    MethodParameters:
      Name  Flags
      key   

  public org.ehcache.core.spi.store.Store$PutStatus put(K, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$PutStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 327
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 328
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 330
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 332
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         4: .line 333
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.NOOP:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 5 /* statOutcome */
        start local 5 // java.util.concurrent.atomic.AtomicReference statOutcome
         5: .line 334
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 6 /* eventSink */
        start local 6 // org.ehcache.core.events.StoreEventSink eventSink
         6: .line 337
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 3 /* now */
            aload 1 /* key */
            aload 2 /* value */
            aload 6 /* eventSink */
            aload 5 /* statOutcome */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLjava/lang/Object;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$7(JLjava/lang/Object;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         7: .line 368
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 6 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         8: .line 370
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 372
            aload 5 /* statOutcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome
            astore 7 /* outcome */
        start local 7 // org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome outcome
        10: .line 373
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 7 /* outcome */
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 374
            invokestatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$PutOutcome:()[I
            aload 7 /* outcome */
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 12
                    2: 14
              default: 16
          }
        12: .line 376
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object long java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome
      StackMap stack:
            getstatic org.ehcache.core.spi.store.Store$PutStatus.PUT:Lorg/ehcache/core/spi/store/Store$PutStatus;
        13: areturn
        14: .line 378
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.spi.store.Store$PutStatus.NOOP:Lorg/ehcache/core/spi/store/Store$PutStatus;
        15: areturn
        16: .line 380
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown enum value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* outcome */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 7 // org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome outcome
        17: .line 382
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object long java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
            astore 7 /* re */
        start local 7 // java.lang.RuntimeException re
        18: .line 383
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 6 /* eventSink */
            aload 7 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        19: .line 384
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.FAILURE:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        20: .line 385
            aload 7 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 7 // java.lang.RuntimeException re
        end local 6 // org.ehcache.core.events.StoreEventSink eventSink
        end local 5 // java.util.concurrent.atomic.AtomicReference statOutcome
        end local 3 // long now
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   21     1          key  TK;
            0   21     2        value  TV;
            4   21     3          now  J
            5   21     5  statOutcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;>;
            6   21     6    eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
           10   17     7      outcome  Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
           18   21     7           re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           6    13      17  Class java.lang.RuntimeException
          14    15      17  Class java.lang.RuntimeException
          16    17      17  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;)Lorg/ehcache/core/spi/store/Store$PutStatus;
    MethodParameters:
       Name  Flags
      key    
      value  

  public boolean remove();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
         0: .line 391
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 393
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 394
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 2 /* eventSink */
        start local 2 // org.ehcache.core.events.StoreEventSink eventSink
         3: .line 395
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         4: .line 398
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 5 /* statisticOutcome */
        start local 5 // java.util.concurrent.atomic.AtomicReference statisticOutcome
         5: .line 400
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 3 /* now */
            aload 2 /* eventSink */
            aload 5 /* statisticOutcome */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$8(JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         6: .line 411
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 2 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         7: .line 412
            aload 5 /* statisticOutcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome
            astore 6 /* outcome */
        start local 6 // org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome outcome
         8: .line 413
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 6 /* outcome */
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         9: .line 414
            invokestatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$RemoveOutcome:()[I
            aload 6 /* outcome */
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 10
                    2: 11
              default: 12
          }
        10: .line 416
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object org.ehcache.core.events.StoreEventSink long java.util.concurrent.atomic.AtomicReference org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome
      StackMap stack:
            iconst_1
            ireturn
        11: .line 418
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 420
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown enum value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* outcome */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 6 // org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome outcome
        end local 5 // java.util.concurrent.atomic.AtomicReference statisticOutcome
        13: .line 422
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object org.ehcache.core.events.StoreEventSink long
      StackMap stack: java.lang.RuntimeException
            astore 5 /* re */
        start local 5 // java.lang.RuntimeException re
        14: .line 423
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 2 /* eventSink */
            aload 5 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        15: .line 424
            aload 5 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 5 // java.lang.RuntimeException re
        end local 3 // long now
        end local 2 // org.ehcache.core.events.StoreEventSink eventSink
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   16     1               key  TK;
            3   16     2         eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            4   16     3               now  J
            5   13     5  statisticOutcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;>;
            8   13     6           outcome  Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
           14   16     5                re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           4    10      13  Class java.lang.RuntimeException
          12    13      13  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)Z
    MethodParameters:
      Name  Flags
      key   

  public org.ehcache.core.spi.store.Store$ValueHolder<V> putIfAbsent(K, V, java.util.function.Consumer<java.lang.Boolean>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/Consumer;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=4
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // java.util.function.Consumer put
         0: .line 430
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 431
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 433
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 435
            new java.util.concurrent.atomic.AtomicReference
            dup
            aconst_null
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 4 /* returnValue */
        start local 4 // java.util.concurrent.atomic.AtomicReference returnValue
         4: .line 436
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            astore 5 /* entryActuallyAdded */
        start local 5 // java.util.concurrent.atomic.AtomicBoolean entryActuallyAdded
         5: .line 437
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 6 /* now */
        start local 6 // long now
         6: .line 438
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 8 /* eventSink */
        start local 8 // org.ehcache.core.events.StoreEventSink eventSink
         7: .line 441
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 6 /* now */
            aload 8 /* eventSink */
            aload 1 /* key */
            aload 2 /* value */
            aload 5 /* entryActuallyAdded */
            aload 4 /* returnValue */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$9(JLorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         8: .line 470
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 8 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         9: .line 472
            aload 5 /* entryActuallyAdded */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 13
        10: .line 473
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        11: .line 474
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 475
            goto 18
        13: .line 476
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object java.util.function.Consumer java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicBoolean long org.ehcache.core.events.StoreEventSink
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 478
            goto 18
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        15: astore 9 /* re */
        start local 9 // java.lang.RuntimeException re
        16: .line 479
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 8 /* eventSink */
            aload 9 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        17: .line 480
            aload 9 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 9 // java.lang.RuntimeException re
        18: .line 483
      StackMap locals:
      StackMap stack:
            aload 4 /* returnValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            areturn
        end local 8 // org.ehcache.core.events.StoreEventSink eventSink
        end local 6 // long now
        end local 5 // java.util.concurrent.atomic.AtomicBoolean entryActuallyAdded
        end local 4 // java.util.concurrent.atomic.AtomicReference returnValue
        end local 3 // java.util.function.Consumer put
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   19     1                 key  TK;
            0   19     2               value  TV;
            0   19     3                 put  Ljava/util/function/Consumer<Ljava/lang/Boolean;>;
            4   19     4         returnValue  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            5   19     5  entryActuallyAdded  Ljava/util/concurrent/atomic/AtomicBoolean;
            6   19     6                 now  J
            7   19     8           eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
           16   18     9                  re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           7    14      15  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;Ljava/util/function/Consumer<Ljava/lang/Boolean;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
       Name  Flags
      key    
      value  
      put    

  public org.ehcache.core.spi.store.Store$RemoveStatus remove(K, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$RemoveStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 488
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 489
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 491
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 493
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.KEY_MISSING:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 3 /* outcome */
        start local 3 // java.util.concurrent.atomic.AtomicReference outcome
         4: .line 494
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 4 /* eventSink */
        start local 4 // org.ehcache.core.events.StoreEventSink eventSink
         5: .line 497
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 4 /* eventSink */
            aload 2 /* value */
            aload 3 /* outcome */
            aload 1 /* key */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$10(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         6: .line 518
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         7: .line 519
            aload 3 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$RemoveStatus
            astore 5 /* removeStatus */
        start local 5 // org.ehcache.core.spi.store.Store$RemoveStatus removeStatus
         8: .line 520
            invokestatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$RemoveStatus:()[I
            aload 5 /* removeStatus */
            invokevirtual org.ehcache.core.spi.store.Store$RemoveStatus.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 9
                    2: 11
                    3: 11
              default: 12
          }
         9: .line 522
      StackMap locals: java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink org.ehcache.core.spi.store.Store$RemoveStatus
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        10: .line 523
            goto 12
        11: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 531
      StackMap locals:
      StackMap stack:
            aload 5 /* removeStatus */
        13: areturn
        end local 5 // org.ehcache.core.spi.store.Store$RemoveStatus removeStatus
        14: .line 532
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
            astore 5 /* re */
        start local 5 // java.lang.RuntimeException re
        15: .line 533
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            aload 5 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        16: .line 534
            aload 5 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 5 // java.lang.RuntimeException re
        end local 4 // org.ehcache.core.events.StoreEventSink eventSink
        end local 3 // java.util.concurrent.atomic.AtomicReference outcome
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   17     1           key  TK;
            0   17     2         value  TV;
            4   17     3       outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/spi/store/Store$RemoveStatus;>;
            5   17     4     eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            8   14     5  removeStatus  Lorg/ehcache/core/spi/store/Store$RemoveStatus;
           15   17     5            re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5    13      14  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;)Lorg/ehcache/core/spi/store/Store$RemoveStatus;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.ehcache.core.spi.store.Store$ValueHolder<V> replace(K, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 541
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 542
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 544
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 546
            new java.util.concurrent.atomic.AtomicReference
            dup
            aconst_null
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 3 /* returnValue */
        start local 3 // java.util.concurrent.atomic.AtomicReference returnValue
         4: .line 547
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 4 /* eventSink */
        start local 4 // org.ehcache.core.events.StoreEventSink eventSink
         5: .line 550
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 4 /* eventSink */
            aload 3 /* returnValue */
            aload 1 /* key */
            aload 2 /* value */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$11(Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         6: .line 568
            aload 3 /* returnValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
            astore 5 /* valueHolder */
        start local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
         7: .line 569
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         8: .line 570
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 571
            aload 5 /* valueHolder */
            ifnull 12
        10: .line 572
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome.REPLACED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 573
            goto 17
        12: .line 574
      StackMap locals: java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
        13: .line 576
            goto 17
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object java.util.concurrent.atomic.AtomicReference org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
        14: astore 5 /* re */
        start local 5 // java.lang.RuntimeException re
        15: .line 577
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            aload 5 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        16: .line 578
            aload 5 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 5 // java.lang.RuntimeException re
        17: .line 581
      StackMap locals:
      StackMap stack:
            aload 3 /* returnValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            areturn
        end local 4 // org.ehcache.core.events.StoreEventSink eventSink
        end local 3 // java.util.concurrent.atomic.AtomicReference returnValue
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   18     1          key  TK;
            0   18     2        value  TV;
            4   18     3  returnValue  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            5   18     4    eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            7   13     5  valueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           15   17     5           re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5    13      14  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.ehcache.core.spi.store.Store$ReplaceStatus replace(K, V, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object oldValue
        start local 3 // java.lang.Object newValue
         0: .line 586
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 587
            aload 0 /* this */
            aload 2 /* oldValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 588
            aload 0 /* this */
            aload 3 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         3: .line 590
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         4: .line 592
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 4 /* eventSink */
        start local 4 // org.ehcache.core.events.StoreEventSink eventSink
         5: .line 593
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.MISS_NOT_PRESENT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 5 /* outcome */
        start local 5 // java.util.concurrent.atomic.AtomicReference outcome
         6: .line 596
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 4 /* eventSink */
            aload 2 /* oldValue */
            aload 5 /* outcome */
            aload 1 /* key */
            aload 3 /* newValue */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$12(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         7: .line 622
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         8: .line 623
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 624
            aload 5 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ReplaceStatus
            astore 6 /* replaceStatus */
        start local 6 // org.ehcache.core.spi.store.Store$ReplaceStatus replaceStatus
        10: .line 625
            invokestatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$ReplaceStatus:()[I
            aload 6 /* replaceStatus */
            invokevirtual org.ehcache.core.spi.store.Store$ReplaceStatus.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 11
                    2: 13
                    3: 13
              default: 15
          }
        11: .line 627
      StackMap locals: org.ehcache.core.events.StoreEventSink java.util.concurrent.atomic.AtomicReference org.ehcache.core.spi.store.Store$ReplaceStatus
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome.REPLACED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 628
            goto 16
        13: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 632
            goto 16
        15: .line 634
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown enum value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* replaceStatus */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 636
      StackMap locals:
      StackMap stack:
            aload 6 /* replaceStatus */
        17: areturn
        end local 6 // org.ehcache.core.spi.store.Store$ReplaceStatus replaceStatus
        18: .line 637
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object java.lang.Object org.ehcache.core.events.StoreEventSink java.util.concurrent.atomic.AtomicReference
      StackMap stack: java.lang.RuntimeException
            astore 6 /* re */
        start local 6 // java.lang.RuntimeException re
        19: .line 638
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 4 /* eventSink */
            aload 6 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        20: .line 639
            aload 6 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 6 // java.lang.RuntimeException re
        end local 5 // java.util.concurrent.atomic.AtomicReference outcome
        end local 4 // org.ehcache.core.events.StoreEventSink eventSink
        end local 3 // java.lang.Object newValue
        end local 2 // java.lang.Object oldValue
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   21     1            key  TK;
            0   21     2       oldValue  TV;
            0   21     3       newValue  TV;
            5   21     4      eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            6   21     5        outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/spi/store/Store$ReplaceStatus;>;
           10   18     6  replaceStatus  Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
           19   21     6             re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           6    17      18  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;TV;)Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
    MethodParameters:
          Name  Flags
      key       
      oldValue  
      newValue  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 645
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.clear:()V
         1: .line 646
            return
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 650
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.entrySetIterator:()Ljava/util/Iterator;
            astore 1 /* iterator */
        start local 1 // java.util.Iterator iterator
         1: .line 651
            new org.ehcache.impl.internal.store.heap.OnHeapStore$2
            dup
            aload 0 /* this */
            aload 1 /* iterator */
            invokespecial org.ehcache.impl.internal.store.heap.OnHeapStore$2.<init>:(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iterator
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            1    2     1  iterator  Ljava/util/Iterator<Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;>;
    Signature: ()Lorg/ehcache/core/spi/store/Store$Iterator<Lorg/ehcache/Cache$Entry<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;>;

  public org.ehcache.core.spi.store.Store$ValueHolder<V> getOrComputeIfAbsent(K, java.util.function.Function<K, org.ehcache.core.spi.store.Store$ValueHolder<V>>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.Function source
         0: .line 698
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 699
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            astore 3 /* backEnd */
        start local 3 // org.ehcache.impl.internal.store.heap.Backend backEnd
         2: .line 702
            aload 3 /* backEnd */
            aload 1 /* key */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.get:(Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 4 /* cachedValue */
        start local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder cachedValue
         3: .line 704
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 5 /* now */
        start local 5 // long now
         4: .line 705
            aload 4 /* cachedValue */
            ifnonnull 10
         5: .line 706
            new org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            dup
            aload 2 /* source */
            aload 1 /* key */
            invokedynamic get(Ljava/util/function/Function;Ljava/lang/Object;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$13(Ljava/util/function/Function;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder; (6)
                  ()Lorg/ehcache/core/spi/store/Store$ValueHolder;
            invokespecial org.ehcache.impl.internal.store.heap.OnHeapStore$Fault.<init>:(Ljava/util/function/Supplier;)V
            astore 7 /* fault */
        start local 7 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
         6: .line 707
            aload 3 /* backEnd */
            aload 1 /* key */
            aload 7 /* fault */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.putIfAbsent:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 4 /* cachedValue */
         7: .line 709
            aload 4 /* cachedValue */
            ifnonnull 10
         8: .line 710
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* backEnd */
            lload 5 /* now */
            aload 7 /* fault */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.resolveFault:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/Backend;JLorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
         9: areturn
        end local 7 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        10: .line 716
      StackMap locals: org.ehcache.impl.internal.store.heap.Backend org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long
      StackMap stack:
            aload 4 /* cachedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 19
        11: .line 717
            aload 4 /* cachedValue */
            lload 5 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 18
        12: .line 718
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* cachedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.expireMappingUnderLock:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
        13: .line 721
            new org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            dup
            aload 2 /* source */
            aload 1 /* key */
            invokedynamic get(Ljava/util/function/Function;Ljava/lang/Object;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$14(Ljava/util/function/Function;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder; (6)
                  ()Lorg/ehcache/core/spi/store/Store$ValueHolder;
            invokespecial org.ehcache.impl.internal.store.heap.OnHeapStore$Fault.<init>:(Ljava/util/function/Supplier;)V
            astore 7 /* fault */
        start local 7 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        14: .line 722
            aload 3 /* backEnd */
            aload 1 /* key */
            aload 7 /* fault */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.putIfAbsent:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 4 /* cachedValue */
        15: .line 724
            aload 4 /* cachedValue */
            ifnonnull 19
        16: .line 725
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* backEnd */
            lload 5 /* now */
            aload 7 /* fault */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.resolveFault:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/Backend;JLorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
        17: areturn
        end local 7 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        18: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 1 /* key */
            aload 4 /* cachedValue */
            lload 5 /* now */
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryTimeWhenCallerOutsideLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;J)V
        19: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.HIT:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        20: .line 736
            aload 0 /* this */
            aload 4 /* cachedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getValue:(Lorg/ehcache/core/spi/store/Store$ValueHolder;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
        21: areturn
        end local 5 // long now
        end local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder cachedValue
        end local 3 // org.ehcache.impl.internal.store.heap.Backend backEnd
        22: .line 737
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.Function
      StackMap stack: java.lang.RuntimeException
            astore 3 /* re */
        start local 3 // java.lang.RuntimeException re
        23: .line 738
            aload 3 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 3 // java.lang.RuntimeException re
        end local 2 // java.util.function.Function source
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   24     1          key  TK;
            0   24     2       source  Ljava/util/function/Function<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
            2   22     3      backEnd  Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;
            3   22     4  cachedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            4   22     5          now  J
            6   10     7        fault  Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;
           14   18     7        fault  Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;
           23   24     3           re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     9      22  Class java.lang.RuntimeException
          10    17      22  Class java.lang.RuntimeException
          18    21      22  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/Function<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
        Name  Flags
      key     
      source  

  public org.ehcache.core.spi.store.Store$ValueHolder<V> getOrDefault(K, java.util.function.Function<K, org.ehcache.core.spi.store.Store$ValueHolder<V>>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.Function source
         0: .line 745
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            astore 3 /* backEnd */
        start local 3 // org.ehcache.impl.internal.store.heap.Backend backEnd
         1: .line 748
            aload 3 /* backEnd */
            aload 1 /* key */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.get:(Ljava/lang/Object;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 4 /* cachedValue */
        start local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder cachedValue
         2: .line 750
            aload 4 /* cachedValue */
            ifnonnull 5
         3: .line 751
            aload 2 /* source */
            aload 1 /* key */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
         4: areturn
         5: .line 754
      StackMap locals: org.ehcache.impl.internal.store.heap.Backend org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 4 /* cachedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 9
         6: .line 755
            aload 4 /* cachedValue */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 9
         7: .line 756
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* cachedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.expireMappingUnderLock:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         8: .line 757
            aconst_null
            areturn
         9: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cachedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getValue:(Lorg/ehcache/core/spi/store/Store$ValueHolder;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
        10: areturn
        end local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder cachedValue
        end local 3 // org.ehcache.impl.internal.store.heap.Backend backEnd
        11: .line 764
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.Function
      StackMap stack: java.lang.RuntimeException
            astore 3 /* re */
        start local 3 // java.lang.RuntimeException re
        12: .line 765
            aload 3 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 3 // java.lang.RuntimeException re
        end local 2 // java.util.function.Function source
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   13     1          key  TK;
            0   13     2       source  Ljava/util/function/Function<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
            1   11     3      backEnd  Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;
            2   11     4  cachedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           12   13     3           re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     4      11  Class java.lang.RuntimeException
           5     8      11  Class java.lang.RuntimeException
           9    10      11  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/Function<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
        Name  Flags
      key     
      source  

  private org.ehcache.core.spi.store.Store$ValueHolder<V> resolveFault(K, org.ehcache.impl.internal.store.heap.Backend<K, V>, long, org.ehcache.impl.internal.store.heap.OnHeapStore$Fault<V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/Backend;JLorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.impl.internal.store.heap.Backend backEnd
        start local 3 // long now
        start local 5 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
         0: .line 771
            aload 5 /* fault */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore$Fault.getValueHolder:()Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 6 /* value */
        start local 6 // org.ehcache.core.spi.store.Store$ValueHolder value
         1: .line 773
            aload 6 /* value */
            ifnull 8
         2: .line 774
            aload 0 /* this */
            aload 1 /* key */
            aload 6 /* value */
            lload 3 /* now */
            aload 2 /* backEnd */
            aload 5 /* fault */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.importValueFromLowerTier:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLorg/ehcache/impl/internal/store/heap/Backend;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 7 /* newValue */
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
         3: .line 775
            aload 7 /* newValue */
            ifnonnull 11
         4: .line 777
            aload 2 /* backEnd */
            aload 1 /* key */
            aload 5 /* fault */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.remove:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            pop
         5: .line 778
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         6: .line 779
            aload 6 /* value */
         7: areturn
        end local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
         8: .line 782
      StackMap locals: org.ehcache.core.spi.store.Store$ValueHolder
      StackMap stack:
            aload 2 /* backEnd */
            aload 1 /* key */
            aload 5 /* fault */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.remove:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            pop
         9: .line 783
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.MISS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        10: .line 784
            aconst_null
            areturn
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        11: .line 787
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 2 /* backEnd */
            aload 1 /* key */
            aload 5 /* fault */
            aload 7 /* newValue */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.replace:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            ifeq 17
        12: .line 788
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULTED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 789
            aload 0 /* this */
            aload 7 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        14: .line 790
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        15: .line 791
            aload 7 /* newValue */
        16: areturn
        17: .line 794
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 8 /* invalidatedValue */
        start local 8 // java.util.concurrent.atomic.AtomicReference invalidatedValue
        18: .line 795
            aload 2 /* backEnd */
            aload 1 /* key */
            aload 0 /* this */
            aload 1 /* key */
            aload 8 /* invalidatedValue */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$15(Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
        19: .line 802
            aload 0 /* this */
            aload 8 /* invalidatedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getValue:(Lorg/ehcache/core/spi/store/Store$ValueHolder;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 9 /* p */
        start local 9 // org.ehcache.core.spi.store.Store$ValueHolder p
        20: .line 803
            aload 9 /* p */
            ifnull 27
        21: .line 804
            aload 9 /* p */
            lload 3 /* now */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.isExpired:(J)Z
            ifeq 24
        22: .line 805
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED_MISS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        23: .line 806
            aconst_null
            areturn
        24: .line 809
      StackMap locals: java.util.concurrent.atomic.AtomicReference org.ehcache.core.spi.store.Store$ValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        25: .line 810
            aload 9 /* p */
        26: areturn
        27: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        28: .line 814
            aload 7 /* newValue */
        29: areturn
        end local 9 // org.ehcache.core.spi.store.Store$ValueHolder p
        end local 8 // java.util.concurrent.atomic.AtomicReference invalidatedValue
        end local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        end local 6 // org.ehcache.core.spi.store.Store$ValueHolder value
        30: .line 816
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object org.ehcache.impl.internal.store.heap.Backend long org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        31: .line 817
            aload 2 /* backEnd */
            aload 1 /* key */
            aload 5 /* fault */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.remove:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
            pop
        32: .line 818
            new org.ehcache.spi.resilience.StoreAccessException
            dup
            aload 6 /* e */
            invokespecial org.ehcache.spi.resilience.StoreAccessException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable e
        end local 5 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        end local 3 // long now
        end local 2 // org.ehcache.impl.internal.store.heap.Backend backEnd
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   33     1               key  TK;
            0   33     2           backEnd  Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;
            0   33     3               now  J
            0   33     5             fault  Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;
            1   30     6             value  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            3    8     7          newValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           11   30     7          newValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           18   30     8  invalidatedValue  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
           20   30     9                 p  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
           31   33     6                 e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     7      30  Class java.lang.Throwable
           8    10      30  Class java.lang.Throwable
          11    16      30  Class java.lang.Throwable
          17    23      30  Class java.lang.Throwable
          24    26      30  Class java.lang.Throwable
          27    29      30  Class java.lang.Throwable
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;JLorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
         Name  Flags
      key      
      backEnd  
      now      
      fault    

  private void invalidateInGetOrComputeIfAbsent(org.ehcache.impl.internal.store.heap.Backend<K, V>, K, org.ehcache.core.spi.store.Store$ValueHolder<V>, org.ehcache.impl.internal.store.heap.OnHeapStore$Fault<V>, long, java.time.Duration);
    descriptor: (Lorg/ehcache/impl/internal/store/heap/Backend;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;JLjava/time/Duration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.impl.internal.store.heap.Backend map
        start local 2 // java.lang.Object key
        start local 3 // org.ehcache.core.spi.store.Store$ValueHolder value
        start local 4 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        start local 5 // long now
        start local 7 // java.time.Duration expiration
         0: .line 823
            aload 1 /* map */
            aload 2 /* key */
            aload 0 /* this */
            aload 4 /* fault */
            aload 2 /* key */
            aload 3 /* value */
            lload 5 /* now */
            aload 7 /* expiration */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$16(Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         1: .line 834
            return
        end local 7 // java.time.Duration expiration
        end local 5 // long now
        end local 4 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        end local 3 // org.ehcache.core.spi.store.Store$ValueHolder value
        end local 2 // java.lang.Object key
        end local 1 // org.ehcache.impl.internal.store.heap.Backend map
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    2     1         map  Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;
            0    2     2         key  TK;
            0    2     3       value  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            0    2     4       fault  Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;
            0    2     5         now  J
            0    2     7  expiration  Ljava/time/Duration;
    Signature: (Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;JLjava/time/Duration;)V
    MethodParameters:
            Name  Flags
      map         
      key         
      value       
      fault       
      now         
      expiration  

  public void invalidate();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
         0: .line 838
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 840
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 842
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome.MISS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 2 /* outcome */
        start local 2 // java.util.concurrent.atomic.AtomicReference outcome
         3: .line 844
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* outcome */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$17(Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         4: .line 852
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 2 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 2 // java.util.concurrent.atomic.AtomicReference outcome
         5: .line 853
            goto 8
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         6: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         7: .line 854
            aload 2 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 2 // java.lang.RuntimeException re
         8: .line 856
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    9     1      key  TK;
            3    5     2  outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateOutcome;>;
            7    8     2       re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  public void silentInvalidate(K, java.util.function.Function<org.ehcache.core.spi.store.Store$ValueHolder<V>, java.lang.Void>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.Function function
         0: .line 860
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 862
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 865
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome.MISS:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
         3: .line 864
            astore 3 /* outcome */
        start local 3 // java.util.concurrent.atomic.AtomicReference outcome
         4: .line 867
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 3 /* outcome */
            aload 2 /* function */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Function;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$18(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Function;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         5: .line 881
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 3 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 3 // java.util.concurrent.atomic.AtomicReference outcome
         6: .line 882
            goto 9
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 3 /* re */
        start local 3 // java.lang.RuntimeException re
         8: .line 883
            aload 3 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 3 // java.lang.RuntimeException re
         9: .line 885
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.function.Function function
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     1       key  TK;
            0   10     2  function  Ljava/util/function/Function<Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;
            4    6     3   outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateOutcome;>;
            8    9     3        re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/Function<Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;)V
    MethodParameters:
          Name  Flags
      key       
      function  

  public void invalidateAll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 889
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 890
            lconst_0
            lstore 1 /* errorCount */
        start local 1 // long errorCount
         2: .line 891
            aconst_null
            astore 3 /* firstException */
        start local 3 // org.ehcache.spi.resilience.StoreAccessException firstException
         3: .line 892
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.keySet:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.spi.resilience.StoreAccessException top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* key */
        start local 4 // java.lang.Object key
         5: .line 894
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.invalidate:(Ljava/lang/Object;)V
         6: .line 895
            goto 11
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.spi.resilience.StoreAccessException java.lang.Object java.util.Iterator
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
         7: astore 6 /* cae */
        start local 6 // org.ehcache.spi.resilience.StoreAccessException cae
         8: .line 896
            lload 1 /* errorCount */
            lconst_1
            ladd
            lstore 1 /* errorCount */
         9: .line 897
            aload 3 /* firstException */
            ifnonnull 11
        10: .line 898
            aload 6 /* cae */
            astore 3 /* firstException */
        end local 6 // org.ehcache.spi.resilience.StoreAccessException cae
        end local 4 // java.lang.Object key
        11: .line 892
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.spi.resilience.StoreAccessException top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 902
            aload 3 /* firstException */
            ifnull 15
        13: .line 903
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome.FAILURE:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 904
            new org.ehcache.spi.resilience.StoreAccessException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error(s) during invalidation - count is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* errorCount */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* firstException */
            invokespecial org.ehcache.spi.resilience.StoreAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        15: .line 906
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.spi.resilience.StoreAccessException
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.clear:()V
        16: .line 907
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome.SUCCESS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        17: .line 908
            return
        end local 3 // org.ehcache.spi.resilience.StoreAccessException firstException
        end local 1 // long errorCount
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            2   18     1      errorCount  J
            3   18     3  firstException  Lorg/ehcache/spi/resilience/StoreAccessException;
            5   11     4             key  TK;
            8   11     6             cae  Lorg/ehcache/spi/resilience/StoreAccessException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.ehcache.spi.resilience.StoreAccessException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException

  public void silentInvalidateAll(java.util.function.BiFunction<K, org.ehcache.core.spi.store.Store$ValueHolder<V>, java.lang.Void>);
    descriptor: (Ljava/util/function/BiFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.util.function.BiFunction biFunction
         0: .line 912
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 913
            aconst_null
            astore 2 /* exception */
        start local 2 // org.ehcache.spi.resilience.StoreAccessException exception
         2: .line 914
            lconst_0
            lstore 3 /* errorCount */
        start local 3 // long errorCount
         3: .line 916
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.keySet:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.BiFunction org.ehcache.spi.resilience.StoreAccessException long top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* k */
        start local 5 // java.lang.Object k
         5: .line 918
            aload 0 /* this */
            aload 5 /* k */
            aload 1 /* biFunction */
            aload 5 /* k */
            invokedynamic apply(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$19(Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/lang/Void; (6)
                  (Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/lang/Void;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidate:(Ljava/lang/Object;Ljava/util/function/Function;)V
         6: .line 922
            goto 11
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.BiFunction org.ehcache.spi.resilience.StoreAccessException long java.lang.Object java.util.Iterator
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
         7: astore 7 /* e */
        start local 7 // org.ehcache.spi.resilience.StoreAccessException e
         8: .line 923
            lload 3 /* errorCount */
            lconst_1
            ladd
            lstore 3 /* errorCount */
         9: .line 924
            aload 2 /* exception */
            ifnonnull 11
        10: .line 925
            aload 7 /* e */
            astore 2 /* exception */
        end local 7 // org.ehcache.spi.resilience.StoreAccessException e
        end local 5 // java.lang.Object k
        11: .line 916
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.BiFunction org.ehcache.spi.resilience.StoreAccessException long top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 930
            aload 2 /* exception */
            ifnull 15
        13: .line 931
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome.FAILURE:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 932
            new org.ehcache.spi.resilience.StoreAccessException
            dup
            new java.lang.StringBuilder
            dup
            ldc "silentInvalidateAll failed - error count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* errorCount */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* exception */
            invokespecial org.ehcache.spi.resilience.StoreAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        15: .line 934
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.BiFunction org.ehcache.spi.resilience.StoreAccessException long
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome.SUCCESS:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        16: .line 935
            return
        end local 3 // long errorCount
        end local 2 // org.ehcache.spi.resilience.StoreAccessException exception
        end local 1 // java.util.function.BiFunction biFunction
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   17     1  biFunction  Ljava/util/function/BiFunction<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;
            2   17     2   exception  Lorg/ehcache/spi/resilience/StoreAccessException;
            3   17     3  errorCount  J
            5   11     5           k  TK;
            8   11     7           e  Lorg/ehcache/spi/resilience/StoreAccessException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.ehcache.spi.resilience.StoreAccessException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (Ljava/util/function/BiFunction<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;)V
    MethodParameters:
            Name  Flags
      biFunction  

  public void silentInvalidateAllWithHash(long, java.util.function.BiFunction<K, org.ehcache.core.spi.store.Store$ValueHolder<V>, java.lang.Void>);
    descriptor: (JLjava/util/function/BiFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // long hash
        start local 3 // java.util.function.BiFunction biFunction
         0: .line 939
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 940
            lload 1 /* hash */
            invokestatic org.ehcache.impl.store.HashUtils.longHashToInt:(J)I
            istore 4 /* intHash */
        start local 4 // int intHash
         2: .line 941
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            iload 4 /* intHash */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.removeAllWithHash:(I)Ljava/util/Collection;
            astore 5 /* removed */
        start local 5 // java.util.Collection removed
         3: .line 942
            aload 5 /* removed */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long java.util.function.BiFunction int java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         5: .line 943
            aload 3 /* biFunction */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.Map$Entry entry
         6: .line 942
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 945
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome.SUCCESS:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         8: .line 946
            return
        end local 5 // java.util.Collection removed
        end local 4 // int intHash
        end local 3 // java.util.function.BiFunction biFunction
        end local 1 // long hash
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    9     1        hash  J
            0    9     3  biFunction  Ljava/util/function/BiFunction<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;
            2    9     4     intHash  I
            3    9     5     removed  Ljava/util/Collection<Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;>;
            5    6     6       entry  Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
    Signature: (JLjava/util/function/BiFunction<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Ljava/lang/Void;>;)V
    MethodParameters:
            Name  Flags
      hash        
      biFunction  

  private void notifyInvalidation(K, org.ehcache.core.spi.store.Store$ValueHolder<V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder p
         0: .line 949
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
            astore 3 /* invalidationListener */
        start local 3 // org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener invalidationListener
         1: .line 950
            aload 3 /* invalidationListener */
            ifnull 3
         2: .line 951
            aload 3 /* invalidationListener */
            aload 1 /* key */
            aload 2 /* p */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener.onInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         3: .line 953
      StackMap locals: org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener
      StackMap stack:
            return
        end local 3 // org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener invalidationListener
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder p
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    4     1                   key  TK;
            0    4     2                     p  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            1    4     3  invalidationListener  Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener<TK;TV;>;
    Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;)V
    MethodParameters:
      Name  Flags
      key   
      p     

  public void setInvalidationListener(org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener<K, V>);
    descriptor: (Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener providedInvalidationListener
         0: .line 957
            aload 0 /* this */
            aload 1 /* providedInvalidationListener */
            invokedynamic onInvalidation(Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;)Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$20(Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V (6)
                  (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
            putfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
         1: .line 962
            return
        end local 1 // org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener providedInvalidationListener
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    2     0                          this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    2     1  providedInvalidationListener  Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener<TK;TV;>;
    Signature: (Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener<TK;TV;>;)V
    MethodParameters:
                              Name  Flags
      providedInvalidationListener  

  public void invalidateAllWithHash(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // long hash
         0: .line 966
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 967
            lload 1 /* hash */
            invokestatic org.ehcache.impl.store.HashUtils.longHashToInt:(J)I
            istore 3 /* intHash */
        start local 3 // int intHash
         2: .line 968
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            iload 3 /* intHash */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.removeAllWithHash:(I)Ljava/util/Collection;
            astore 4 /* removed */
        start local 4 // java.util.Collection removed
         3: .line 969
            aload 4 /* removed */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long int java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         5: .line 970
            aload 0 /* this */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.notifyInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
        end local 5 // java.util.Map$Entry entry
         6: .line 969
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 972
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
            ldc "CLIENT: onheap store removed all with hash {}"
            iload 3 /* intHash */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 973
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllWithHashObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllWithHashOutcome.SUCCESS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllWithHashOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         9: .line 974
            return
        end local 4 // java.util.Collection removed
        end local 3 // int intHash
        end local 1 // long hash
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     1     hash  J
            2   10     3  intHash  I
            3   10     4  removed  Ljava/util/Collection<Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;>;
            5    6     5    entry  Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
    MethodParameters:
      Name  Flags
      hash  

  private org.ehcache.core.spi.store.Store$ValueHolder<V> getValue(org.ehcache.core.spi.store.Store$ValueHolder<V>);
    descriptor: (Lorg/ehcache/core/spi/store/Store$ValueHolder;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.core.spi.store.Store$ValueHolder cachedValue
         0: .line 977
            aload 1 /* cachedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 2
         1: .line 978
            aload 1 /* cachedValue */
            checkcast org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore$Fault.getValueHolder:()Lorg/ehcache/core/spi/store/Store$ValueHolder;
            areturn
         2: .line 980
      StackMap locals:
      StackMap stack:
            aload 1 /* cachedValue */
            areturn
        end local 1 // org.ehcache.core.spi.store.Store$ValueHolder cachedValue
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    3     1  cachedValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    Signature: (Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
             Name  Flags
      cachedValue  

  private long getSizeOfKeyValuePairs(K, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         0: .line 985
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.sizeOfEngine:Lorg/ehcache/core/spi/store/heap/SizeOfEngine;
            aload 1 /* key */
            aload 2 /* holder */
            invokeinterface org.ehcache.core.spi.store.heap.SizeOfEngine.sizeof:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)J
            lreturn
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    1     1     key  TK;
            0    1     2  holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    Exceptions:
      throws org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;)J
    MethodParameters:
        Name  Flags
      key     
      holder  

  public org.ehcache.core.spi.store.Store$ValueHolder<V> getAndCompute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.BiFunction mappingFunction
         0: .line 1117
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1119
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 1121
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         3: .line 1122
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 5 /* eventSink */
        start local 5 // org.ehcache.core.events.StoreEventSink eventSink
         4: .line 1124
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 6 /* oldValue */
        start local 6 // java.util.concurrent.atomic.AtomicReference oldValue
         5: .line 1126
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
         6: .line 1125
            astore 7 /* outcome */
        start local 7 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1128
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 3 /* now */
            aload 5 /* eventSink */
            aload 6 /* oldValue */
            aload 2 /* mappingFunction */
            aload 7 /* outcome */
            aload 1 /* key */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$21(JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         8: .line 1173
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 5 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         9: .line 1174
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        10: .line 1175
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 7 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 1176
            aload 6 /* oldValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
        12: areturn
        end local 7 // java.util.concurrent.atomic.AtomicReference outcome
        end local 6 // java.util.concurrent.atomic.AtomicReference oldValue
        13: .line 1177
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.BiFunction long org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
            astore 6 /* re */
        start local 6 // java.lang.RuntimeException re
        14: .line 1178
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 5 /* eventSink */
            aload 6 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        15: .line 1179
            aload 6 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 6 // java.lang.RuntimeException re
        end local 5 // org.ehcache.core.events.StoreEventSink eventSink
        end local 3 // long now
        end local 2 // java.util.function.BiFunction mappingFunction
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   16     1              key  TK;
            0   16     2  mappingFunction  Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
            3   16     3              now  J
            4   16     5        eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            5   13     6         oldValue  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            7   13     7          outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;>;
           14   16     6               re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           4    12      13  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
                 Name  Flags
      key              
      mappingFunction  

  public org.ehcache.core.spi.store.Store$ValueHolder<V> computeAndGet(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>, java.util.function.Supplier<java.lang.Boolean>, java.util.function.Supplier<java.lang.Boolean>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=11, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.BiFunction mappingFunction
        start local 3 // java.util.function.Supplier replaceEqual
        start local 4 // java.util.function.Supplier invokeWriter
         0: .line 1185
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1187
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 1189
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 5 /* now */
        start local 5 // long now
         3: .line 1190
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 7 /* eventSink */
        start local 7 // org.ehcache.core.events.StoreEventSink eventSink
         4: .line 1192
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 8 /* valueHeld */
        start local 8 // java.util.concurrent.atomic.AtomicReference valueHeld
         5: .line 1194
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
         6: .line 1193
            astore 9 /* outcome */
        start local 9 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1196
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 5 /* now */
            aload 7 /* eventSink */
            aload 2 /* mappingFunction */
            aload 9 /* outcome */
            aload 3 /* replaceEqual */
            aload 1 /* key */
            aload 8 /* valueHeld */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Supplier;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$22(JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Supplier;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 10 /* computeResult */
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder computeResult
         8: .line 1252
            aload 10 /* computeResult */
            ifnonnull 10
            aload 8 /* valueHeld */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 10
         9: .line 1253
            aload 8 /* valueHeld */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
            astore 10 /* computeResult */
        10: .line 1255
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.BiFunction java.util.function.Supplier java.util.function.Supplier long org.ehcache.core.events.StoreEventSink java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicReference org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 7 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
        11: .line 1256
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        12: .line 1257
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 9 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 1258
            aload 10 /* computeResult */
        14: areturn
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder computeResult
        end local 9 // java.util.concurrent.atomic.AtomicReference outcome
        end local 8 // java.util.concurrent.atomic.AtomicReference valueHeld
        15: .line 1259
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.BiFunction java.util.function.Supplier java.util.function.Supplier long org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
            astore 8 /* re */
        start local 8 // java.lang.RuntimeException re
        16: .line 1260
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 7 /* eventSink */
            aload 8 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        17: .line 1261
            aload 8 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 8 // java.lang.RuntimeException re
        end local 7 // org.ehcache.core.events.StoreEventSink eventSink
        end local 5 // long now
        end local 4 // java.util.function.Supplier invokeWriter
        end local 3 // java.util.function.Supplier replaceEqual
        end local 2 // java.util.function.BiFunction mappingFunction
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   18     1              key  TK;
            0   18     2  mappingFunction  Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
            0   18     3     replaceEqual  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            0   18     4     invokeWriter  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            3   18     5              now  J
            4   18     7        eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            5   15     8        valueHeld  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            7   15     9          outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;>;
            8   15    10    computeResult  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           16   18     8               re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           4    14      15  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;Ljava/util/function/Supplier<Ljava/lang/Boolean;>;Ljava/util/function/Supplier<Ljava/lang/Boolean;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
                 Name  Flags
      key              
      mappingFunction  
      replaceEqual     
      invokeWriter     

  public org.ehcache.core.spi.store.Store$ValueHolder<V> computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.Function mappingFunction
         0: .line 1267
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1269
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 1271
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 3 /* eventSink */
        start local 3 // org.ehcache.core.events.StoreEventSink eventSink
         3: .line 1273
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 4 /* now */
        start local 4 // long now
         4: .line 1275
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 6 /* previousValue */
        start local 6 // java.util.concurrent.atomic.AtomicReference previousValue
         5: .line 1277
            new java.util.concurrent.atomic.AtomicReference
            dup
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome.NOOP:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
         6: .line 1276
            astore 7 /* outcome */
        start local 7 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1278
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            lload 4 /* now */
            aload 3 /* eventSink */
            aload 2 /* mappingFunction */
            aload 1 /* key */
            aload 7 /* outcome */
            aload 6 /* previousValue */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/Function;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$23(JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/Function;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 8 /* computeResult */
        start local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder computeResult
         8: .line 1311
            aload 6 /* previousValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
            astore 9 /* previousValueHolder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder previousValueHolder
         9: .line 1313
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 3 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
        10: .line 1314
            aload 8 /* computeResult */
            ifnull 12
        11: .line 1315
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        12: .line 1317
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.Function org.ehcache.core.events.StoreEventSink long java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicReference org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            aload 7 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 1318
            aload 8 /* computeResult */
            ifnonnull 16
            aload 9 /* previousValueHolder */
            ifnull 16
        14: .line 1320
            aload 9 /* previousValueHolder */
        15: areturn
        16: .line 1322
      StackMap locals:
      StackMap stack:
            aload 8 /* computeResult */
        17: areturn
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder previousValueHolder
        end local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder computeResult
        end local 7 // java.util.concurrent.atomic.AtomicReference outcome
        end local 6 // java.util.concurrent.atomic.AtomicReference previousValue
        end local 4 // long now
        18: .line 1323
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.util.function.Function org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
            astore 4 /* re */
        start local 4 // java.lang.RuntimeException re
        19: .line 1324
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 3 /* eventSink */
            aload 4 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
        20: .line 1325
            aload 4 /* re */
            invokestatic org.ehcache.core.exceptions.StorePassThroughException.handleException:(Ljava/lang/Exception;)Lorg/ehcache/spi/resilience/StoreAccessException;
            athrow
        end local 4 // java.lang.RuntimeException re
        end local 3 // org.ehcache.core.events.StoreEventSink eventSink
        end local 2 // java.util.function.Function mappingFunction
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   21     1                  key  TK;
            0   21     2      mappingFunction  Ljava/util/function/Function<-TK;+TV;>;
            3   21     3            eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            4   18     4                  now  J
            5   18     6        previousValue  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            7   18     7              outcome  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;>;
            8   18     8        computeResult  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            9   18     9  previousValueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           19   21     4                   re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3    15      18  Class java.lang.RuntimeException
          16    17      18  Class java.lang.RuntimeException
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;Ljava/util/function/Function<-TK;+TV;>;)Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    MethodParameters:
                 Name  Flags
      key              
      mappingFunction  

  public java.util.Map<K, org.ehcache.core.spi.store.Store$ValueHolder<V>> bulkComputeIfAbsent(java.util.Set<? extends K>, java.util.function.Function<java.lang.Iterable<? extends K>, java.lang.Iterable<? extends java.util.Map$Entry<? extends K, ? extends V>>>);
    descriptor: (Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.util.Set keys
        start local 2 // java.util.function.Function mappingFunction
         0: .line 1331
            new java.util.HashMap
            dup
            aload 1 /* keys */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* result */
        start local 3 // java.util.Map result
         1: .line 1333
            aload 1 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.Set java.util.function.Function java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* key */
        start local 4 // java.lang.Object key
         3: .line 1334
            aload 0 /* this */
            aload 4 /* key */
            aload 0 /* this */
            aload 2 /* mappingFunction */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/util/function/Function;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$24(Ljava/util/function/Function;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 6 /* newValue */
        start local 6 // org.ehcache.core.spi.store.Store$ValueHolder newValue
         4: .line 1351
            aload 3 /* result */
            aload 4 /* key */
            aload 6 /* newValue */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.ehcache.core.spi.store.Store$ValueHolder newValue
        end local 4 // java.lang.Object key
         5: .line 1333
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1353
            aload 3 /* result */
            areturn
        end local 3 // java.util.Map result
        end local 2 // java.util.function.Function mappingFunction
        end local 1 // java.util.Set keys
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    7     1             keys  Ljava/util/Set<+TK;>;
            0    7     2  mappingFunction  Ljava/util/function/Function<Ljava/lang/Iterable<+TK;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;
            1    7     3           result  Ljava/util/Map<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
            3    5     4              key  TK;
            4    5     6         newValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (Ljava/util/Set<+TK;>;Ljava/util/function/Function<Ljava/lang/Iterable<+TK;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;)Ljava/util/Map<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
    MethodParameters:
                 Name  Flags
      keys             
      mappingFunction  

  public java.util.List<org.ehcache.core.CacheConfigurationChangeListener> getConfigurationChangeListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 1359
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         1: .line 1358
            astore 1 /* configurationChangeListenerList */
        start local 1 // java.util.List configurationChangeListenerList
         2: .line 1360
            aload 1 /* configurationChangeListenerList */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.cacheConfigurationChangeListener:Lorg/ehcache/core/CacheConfigurationChangeListener;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1361
            aload 1 /* configurationChangeListenerList */
            areturn
        end local 1 // java.util.List configurationChangeListenerList
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    4     0                             this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            2    4     1  configurationChangeListenerList  Ljava/util/List<Lorg/ehcache/core/CacheConfigurationChangeListener;>;
    Signature: ()Ljava/util/List<Lorg/ehcache/core/CacheConfigurationChangeListener;>;

  public java.util.Map<K, org.ehcache.core.spi.store.Store$ValueHolder<V>> bulkCompute(java.util.Set<? extends K>, java.util.function.Function<java.lang.Iterable<? extends java.util.Map$Entry<? extends K, ? extends V>>, java.lang.Iterable<? extends java.util.Map$Entry<? extends K, ? extends V>>>);
    descriptor: (Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.util.Set keys
        start local 2 // java.util.function.Function remappingFunction
         0: .line 1366
            aload 0 /* this */
            aload 1 /* keys */
            aload 2 /* remappingFunction */
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.REPLACE_EQUALS_TRUE:Ljava/util/function/Supplier;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.bulkCompute:(Ljava/util/Set;Ljava/util/function/Function;Ljava/util/function/Supplier;)Ljava/util/Map;
            areturn
        end local 2 // java.util.function.Function remappingFunction
        end local 1 // java.util.Set keys
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    1     1               keys  Ljava/util/Set<+TK;>;
            0    1     2  remappingFunction  Ljava/util/function/Function<Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (Ljava/util/Set<+TK;>;Ljava/util/function/Function<Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;)Ljava/util/Map<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
    MethodParameters:
                   Name  Flags
      keys               
      remappingFunction  

  public java.util.Map<K, org.ehcache.core.spi.store.Store$ValueHolder<V>> bulkCompute(java.util.Set<? extends K>, java.util.function.Function<java.lang.Iterable<? extends java.util.Map$Entry<? extends K, ? extends V>>, java.lang.Iterable<? extends java.util.Map$Entry<? extends K, ? extends V>>>, java.util.function.Supplier<java.lang.Boolean>);
    descriptor: (Ljava/util/Set;Ljava/util/function/Function;Ljava/util/function/Supplier;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.util.Set keys
        start local 2 // java.util.function.Function remappingFunction
        start local 3 // java.util.function.Supplier replaceEqual
         0: .line 1375
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Map result
         1: .line 1376
            aload 1 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.Set java.util.function.Function java.util.function.Supplier java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* key */
        start local 5 // java.lang.Object key
         3: .line 1377
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         4: .line 1379
            aload 0 /* this */
            aload 5 /* key */
            aload 0 /* this */
            aload 2 /* remappingFunction */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/util/function/Function;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$25(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
         5: .line 1392
            aload 3 /* replaceEqual */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$26()Ljava/lang/Boolean; (6)
                  ()Ljava/lang/Boolean;
         6: .line 1379
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.computeAndGet:(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 7 /* newValue */
        start local 7 // org.ehcache.core.spi.store.Store$ValueHolder newValue
         7: .line 1393
            aload 4 /* result */
            aload 5 /* key */
            aload 7 /* newValue */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.ehcache.core.spi.store.Store$ValueHolder newValue
        end local 5 // java.lang.Object key
         8: .line 1376
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1395
            aload 4 /* result */
            areturn
        end local 4 // java.util.Map result
        end local 3 // java.util.function.Supplier replaceEqual
        end local 2 // java.util.function.Function remappingFunction
        end local 1 // java.util.Set keys
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     1               keys  Ljava/util/Set<+TK;>;
            0   10     2  remappingFunction  Ljava/util/function/Function<Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;
            0   10     3       replaceEqual  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            1   10     4             result  Ljava/util/Map<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
            3    8     5                key  TK;
            7    8     7           newValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
    Exceptions:
      throws org.ehcache.spi.resilience.StoreAccessException
    Signature: (Ljava/util/Set<+TK;>;Ljava/util/function/Function<Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;>;Ljava/util/function/Supplier<Ljava/lang/Boolean;>;)Ljava/util/Map<TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;>;
    MethodParameters:
                   Name  Flags
      keys               
      remappingFunction  
      replaceEqual       

  public org.ehcache.core.spi.store.events.StoreEventSource<K, V> getStoreEventSource();
    descriptor: ()Lorg/ehcache/core/spi/store/events/StoreEventSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 1400
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            areturn
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
    Signature: ()Lorg/ehcache/core/spi/store/events/StoreEventSource<TK;TV;>;

  void expireMappingUnderLock(K, org.ehcache.core.spi.store.Store$ValueHolder<V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder value
         0: .line 1405
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.eventSink:()Lorg/ehcache/core/events/StoreEventSink;
            astore 3 /* eventSink */
        start local 3 // org.ehcache.core.events.StoreEventSink eventSink
         1: .line 1407
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 1 /* key */
            aload 0 /* this */
            aload 2 /* value */
            aload 1 /* key */
            aload 3 /* eventSink */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$27(Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
         2: .line 1415
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 3 /* eventSink */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSink:(Lorg/ehcache/core/events/StoreEventSink;)V
         3: .line 1416
            goto 7
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object org.ehcache.core.spi.store.Store$ValueHolder org.ehcache.core.events.StoreEventSink
      StackMap stack: java.lang.RuntimeException
         4: astore 4 /* re */
        start local 4 // java.lang.RuntimeException re
         5: .line 1417
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.storeEventDispatcher:Lorg/ehcache/core/events/StoreEventDispatcher;
            aload 3 /* eventSink */
            aload 4 /* re */
            invokeinterface org.ehcache.core.events.StoreEventDispatcher.releaseEventSinkAfterFailure:(Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Throwable;)V
         6: .line 1418
            aload 4 /* re */
            athrow
        end local 4 // java.lang.RuntimeException re
         7: .line 1420
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.ehcache.core.events.StoreEventSink eventSink
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    8     1        key  TK;
            0    8     2      value  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            1    8     3  eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            5    7     4         re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.RuntimeException
    Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;)V
    MethodParameters:
       Name  Flags
      key    
      value  

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> newUpdateValueHolder(K, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>, V, long, org.ehcache.core.events.StoreEventSink<K, V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder oldValue
        start local 3 // java.lang.Object newValue
        start local 4 // long now
        start local 6 // org.ehcache.core.events.StoreEventSink eventSink
         0: .line 1423
            aload 2 /* oldValue */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1424
            aload 3 /* newValue */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1426
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 1 /* key */
            aload 2 /* oldValue */
            aload 3 /* newValue */
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.getUpdateDuration:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;)Ljava/time/Duration;
            astore 7 /* duration */
        start local 7 // java.time.Duration duration
         3: .line 1428
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            aload 7 /* duration */
            invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 1429
            aload 6 /* eventSink */
            aload 1 /* key */
            aload 2 /* oldValue */
            aload 3 /* newValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.updated:(Ljava/lang/Object;Ljava/util/function/Supplier;Ljava/lang/Object;)V
         5: .line 1430
            aload 6 /* eventSink */
            aload 1 /* key */
            aload 3 /* newValue */
            invokedynamic get(Ljava/lang/Object;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$28(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokeinterface org.ehcache.core.events.StoreEventSink.expired:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         6: .line 1431
            aconst_null
            areturn
         7: .line 1435
      StackMap locals: java.time.Duration
      StackMap stack:
            aload 7 /* duration */
            ifnonnull 10
         8: .line 1436
            aload 2 /* oldValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.expirationTime:()J
            lstore 8 /* expirationTime */
        start local 8 // long expirationTime
         9: .line 1437
            goto 14
        end local 8 // long expirationTime
        10: .line 1438
      StackMap locals:
      StackMap stack:
            aload 7 /* duration */
            invokestatic org.ehcache.core.config.ExpiryUtils.isExpiryDurationInfinite:(Ljava/time/Duration;)Z
            ifeq 13
        11: .line 1439
            ldc -1
            lstore 8 /* expirationTime */
        start local 8 // long expirationTime
        12: .line 1440
            goto 14
        end local 8 // long expirationTime
        13: .line 1441
      StackMap locals:
      StackMap stack:
            lload 4 /* now */
            aload 7 /* duration */
            invokestatic org.ehcache.core.config.ExpiryUtils.getExpirationMillis:(JLjava/time/Duration;)J
            lstore 8 /* expirationTime */
        start local 8 // long expirationTime
        14: .line 1445
      StackMap locals: long
      StackMap stack:
            aconst_null
            astore 10 /* holder */
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        15: .line 1447
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* newValue */
            lload 4 /* now */
            lload 8 /* expirationTime */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.makeValue:(Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 10 /* holder */
        16: .line 1448
            aload 6 /* eventSink */
            aload 1 /* key */
            aload 2 /* oldValue */
            aload 3 /* newValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.updated:(Ljava/lang/Object;Ljava/util/function/Supplier;Ljava/lang/Object;)V
        17: .line 1449
            goto 21
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder java.lang.Object long org.ehcache.core.events.StoreEventSink java.time.Duration long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
        18: astore 11 /* e */
        start local 11 // org.ehcache.core.spi.store.heap.LimitExceededException e
        19: .line 1450
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
            aload 11 /* e */
            invokevirtual org.ehcache.core.spi.store.heap.LimitExceededException.getMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        20: .line 1451
            aload 6 /* eventSink */
            aload 1 /* key */
            aload 2 /* oldValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.removed:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
        end local 11 // org.ehcache.core.spi.store.heap.LimitExceededException e
        21: .line 1453
      StackMap locals:
      StackMap stack:
            aload 10 /* holder */
            areturn
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 8 // long expirationTime
        end local 7 // java.time.Duration duration
        end local 6 // org.ehcache.core.events.StoreEventSink eventSink
        end local 4 // long now
        end local 3 // java.lang.Object newValue
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder oldValue
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   22     1             key  TK;
            0   22     2        oldValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            0   22     3        newValue  TV;
            0   22     4             now  J
            0   22     6       eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            3   22     7        duration  Ljava/time/Duration;
            9   10     8  expirationTime  J
           12   13     8  expirationTime  J
           14   22     8  expirationTime  J
           15   22    10          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           19   21    11               e  Lorg/ehcache/core/spi/store/heap/LimitExceededException;
      Exception table:
        from    to  target  type
          15    17      18  Class org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;TV;JLorg/ehcache/core/events/StoreEventSink<TK;TV;>;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
           Name  Flags
      key        
      oldValue   
      newValue   
      now        
      eventSink  

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> newCreateValueHolder(K, V, long, org.ehcache.core.events.StoreEventSink<K, V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // long now
        start local 5 // org.ehcache.core.events.StoreEventSink eventSink
         0: .line 1457
            aload 2 /* value */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1459
            aload 1 /* key */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
            invokestatic org.ehcache.core.config.ExpiryUtils.getExpiryForCreation:(Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/expiry/ExpiryPolicy;)Ljava/time/Duration;
            astore 6 /* duration */
        start local 6 // java.time.Duration duration
         2: .line 1460
            aload 6 /* duration */
            invokevirtual java.time.Duration.isZero:()Z
            ifeq 4
         3: .line 1461
            aconst_null
            areturn
         4: .line 1464
      StackMap locals: java.time.Duration
      StackMap stack:
            aload 6 /* duration */
            invokestatic org.ehcache.core.config.ExpiryUtils.isExpiryDurationInfinite:(Ljava/time/Duration;)Z
            ifeq 5
            ldc -1
            goto 6
      StackMap locals:
      StackMap stack:
         5: lload 3 /* now */
            aload 6 /* duration */
            invokestatic org.ehcache.core.config.ExpiryUtils.getExpirationMillis:(JLjava/time/Duration;)J
      StackMap locals:
      StackMap stack: long
         6: lstore 7 /* expirationTime */
        start local 7 // long expirationTime
         7: .line 1466
            aconst_null
            astore 9 /* holder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         8: .line 1468
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            lload 3 /* now */
            lload 7 /* expirationTime */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.makeValue:(Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 9 /* holder */
         9: .line 1469
            aload 5 /* eventSink */
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface org.ehcache.core.events.StoreEventSink.created:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 1470
            goto 13
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.lang.Object java.lang.Object long org.ehcache.core.events.StoreEventSink java.time.Duration long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
        11: astore 10 /* e */
        start local 10 // org.ehcache.core.spi.store.heap.LimitExceededException e
        12: .line 1471
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
            aload 10 /* e */
            invokevirtual org.ehcache.core.spi.store.heap.LimitExceededException.getMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        end local 10 // org.ehcache.core.spi.store.heap.LimitExceededException e
        13: .line 1473
      StackMap locals:
      StackMap stack:
            aload 9 /* holder */
            areturn
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 7 // long expirationTime
        end local 6 // java.time.Duration duration
        end local 5 // org.ehcache.core.events.StoreEventSink eventSink
        end local 3 // long now
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   14     1             key  TK;
            0   14     2           value  TV;
            0   14     3             now  J
            0   14     5       eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            2   14     6        duration  Ljava/time/Duration;
            7   14     7  expirationTime  J
            8   14     9          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           12   13    10               e  Lorg/ehcache/core/spi/store/heap/LimitExceededException;
      Exception table:
        from    to  target  type
           8    10      11  Class org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;TV;JLorg/ehcache/core/events/StoreEventSink<TK;TV;>;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
           Name  Flags
      key        
      value      
      now        
      eventSink  

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> importValueFromLowerTier(K, org.ehcache.core.spi.store.Store$ValueHolder<V>, long, org.ehcache.impl.internal.store.heap.Backend<K, V>, org.ehcache.impl.internal.store.heap.OnHeapStore$Fault<V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLorg/ehcache/impl/internal/store/heap/Backend;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        start local 3 // long now
        start local 5 // org.ehcache.impl.internal.store.heap.Backend backEnd
        start local 6 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
         0: .line 1477
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 1 /* key */
            aload 2 /* valueHolder */
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.getAccessDuration:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/time/Duration;
            astore 7 /* expiration */
        start local 7 // java.time.Duration expiration
         1: .line 1479
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            aload 7 /* expiration */
            invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
            ifeq 5
         2: .line 1480
            aload 0 /* this */
            aload 5 /* backEnd */
            aload 1 /* key */
            aload 2 /* valueHolder */
            aload 6 /* fault */
            lload 3 /* now */
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateInGetOrComputeIfAbsent:(Lorg/ehcache/impl/internal/store/heap/Backend;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;JLjava/time/Duration;)V
         3: .line 1481
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         4: .line 1482
            aconst_null
            areturn
         5: .line 1486
      StackMap locals: java.time.Duration
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* valueHolder */
            lload 3 /* now */
            aload 7 /* expiration */
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.cloneValueHolder:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
         6: areturn
         7: .line 1487
      StackMap locals:
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
            astore 8 /* e */
        start local 8 // org.ehcache.core.spi.store.heap.LimitExceededException e
         8: .line 1488
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
            aload 8 /* e */
            invokevirtual org.ehcache.core.spi.store.heap.LimitExceededException.getMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
         9: .line 1489
            aload 0 /* this */
            aload 5 /* backEnd */
            aload 1 /* key */
            aload 2 /* valueHolder */
            aload 6 /* fault */
            lload 3 /* now */
            aload 7 /* expiration */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateInGetOrComputeIfAbsent:(Lorg/ehcache/impl/internal/store/heap/Backend;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;JLjava/time/Duration;)V
        10: .line 1490
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 1491
            aconst_null
            areturn
        end local 8 // org.ehcache.core.spi.store.heap.LimitExceededException e
        end local 7 // java.time.Duration expiration
        end local 6 // org.ehcache.impl.internal.store.heap.OnHeapStore$Fault fault
        end local 5 // org.ehcache.impl.internal.store.heap.Backend backEnd
        end local 3 // long now
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   12     1          key  TK;
            0   12     2  valueHolder  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            0   12     3          now  J
            0   12     5      backEnd  Lorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;
            0   12     6        fault  Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;
            1   12     7   expiration  Ljava/time/Duration;
            8   12     8            e  Lorg/ehcache/core/spi/store/heap/LimitExceededException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;JLorg/ehcache/impl/internal/store/heap/Backend<TK;TV;>;Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault<TV;>;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
             Name  Flags
      key          
      valueHolder  
      now          
      backEnd      
      fault        

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> cloneValueHolder(K, org.ehcache.core.spi.store.Store$ValueHolder<V>, long, java.time.Duration, boolean);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        start local 3 // long now
        start local 5 // java.time.Duration expiration
        start local 6 // boolean sizingEnabled
         0: .line 1496
            aload 2 /* valueHolder */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.get:()Ljava/lang/Object;
            astore 7 /* realValue */
        start local 7 // java.lang.Object realValue
         1: .line 1497
            aload 0 /* this */
            aload 1 /* key */
            aload 7 /* realValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkEvictionAdvice:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 8 /* evictionAdvice */
        start local 8 // boolean evictionAdvice
         2: .line 1499
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            instanceof org.ehcache.impl.copy.SerializingCopier
            ifeq 12
         3: .line 1500
            aload 2 /* valueHolder */
            instanceof org.ehcache.impl.internal.store.BinaryValueHolder
            ifeq 8
            aload 2 /* valueHolder */
            checkcast org.ehcache.impl.internal.store.BinaryValueHolder
            invokeinterface org.ehcache.impl.internal.store.BinaryValueHolder.isBinaryValueAvailable:()Z
            ifeq 8
         4: .line 1501
            new org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder
            dup
            aload 2 /* valueHolder */
            aload 2 /* valueHolder */
            checkcast org.ehcache.impl.internal.store.BinaryValueHolder
            invokeinterface org.ehcache.impl.internal.store.BinaryValueHolder.getBinaryValue:()Ljava/nio/ByteBuffer;
         5: .line 1502
            iload 8 /* evictionAdvice */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            checkcast org.ehcache.impl.copy.SerializingCopier
            invokevirtual org.ehcache.impl.copy.SerializingCopier.getSerializer:()Lorg/ehcache/spi/serialization/Serializer;
            lload 3 /* now */
            aload 5 /* expiration */
         6: .line 1501
            invokespecial org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder.<init>:(Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/nio/ByteBuffer;ZLorg/ehcache/spi/serialization/Serializer;JLjava/time/Duration;)V
            astore 9 /* clonedValueHolder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
         7: .line 1503
            goto 13
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
         8: .line 1504
      StackMap locals: java.lang.Object int
      StackMap stack:
            new org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder
            dup
            aload 2 /* valueHolder */
            aload 7 /* realValue */
            iload 8 /* evictionAdvice */
         9: .line 1505
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            checkcast org.ehcache.impl.copy.SerializingCopier
            invokevirtual org.ehcache.impl.copy.SerializingCopier.getSerializer:()Lorg/ehcache/spi/serialization/Serializer;
            lload 3 /* now */
            aload 5 /* expiration */
        10: .line 1504
            invokespecial org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder.<init>:(Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/lang/Object;ZLorg/ehcache/spi/serialization/Serializer;JLjava/time/Duration;)V
            astore 9 /* clonedValueHolder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
        11: .line 1507
            goto 13
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
        12: .line 1508
      StackMap locals:
      StackMap stack:
            new org.ehcache.impl.internal.store.heap.holders.CopiedOnHeapValueHolder
            dup
            aload 2 /* valueHolder */
            aload 7 /* realValue */
            iload 8 /* evictionAdvice */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            lload 3 /* now */
            aload 5 /* expiration */
            invokespecial org.ehcache.impl.internal.store.heap.holders.CopiedOnHeapValueHolder.<init>:(Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/lang/Object;ZLorg/ehcache/spi/copy/Copier;JLjava/time/Duration;)V
            astore 9 /* clonedValueHolder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
        13: .line 1510
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            iload 6 /* sizingEnabled */
            ifeq 15
        14: .line 1511
            aload 9 /* clonedValueHolder */
            aload 0 /* this */
            aload 1 /* key */
            aload 9 /* clonedValueHolder */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getSizeOfKeyValuePairs:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)J
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.setSize:(J)V
        15: .line 1513
      StackMap locals:
      StackMap stack:
            aload 9 /* clonedValueHolder */
            areturn
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
        end local 8 // boolean evictionAdvice
        end local 7 // java.lang.Object realValue
        end local 6 // boolean sizingEnabled
        end local 5 // java.time.Duration expiration
        end local 3 // long now
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   16     1                key  TK;
            0   16     2        valueHolder  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            0   16     3                now  J
            0   16     5         expiration  Ljava/time/Duration;
            0   16     6      sizingEnabled  Z
            1   16     7          realValue  TV;
            2   16     8     evictionAdvice  Z
            7    8     9  clonedValueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           11   12     9  clonedValueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           13   16     9  clonedValueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    Exceptions:
      throws org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;JLjava/time/Duration;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
               Name  Flags
      key            
      valueHolder    
      now            
      expiration     
      sizingEnabled  

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> makeValue(K, V, long, long, org.ehcache.spi.copy.Copier<V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // long creationTime
        start local 5 // long expirationTime
        start local 7 // org.ehcache.spi.copy.Copier valueCopier
         0: .line 1517
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            lload 3 /* creationTime */
            lload 5 /* expirationTime */
            aload 7 /* valueCopier */
            iconst_1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.makeValue:(Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            areturn
        end local 7 // org.ehcache.spi.copy.Copier valueCopier
        end local 5 // long expirationTime
        end local 3 // long creationTime
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    1     1             key  TK;
            0    1     2           value  TV;
            0    1     3    creationTime  J
            0    1     5  expirationTime  J
            0    1     7     valueCopier  Lorg/ehcache/spi/copy/Copier<TV;>;
    Exceptions:
      throws org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;TV;JJLorg/ehcache/spi/copy/Copier<TV;>;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
                Name  Flags
      key             
      value           
      creationTime    
      expirationTime  
      valueCopier     

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> makeValue(K, V, long, long, org.ehcache.spi.copy.Copier<V>, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=7
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // long creationTime
        start local 5 // long expirationTime
        start local 7 // org.ehcache.spi.copy.Copier valueCopier
        start local 8 // boolean size
         0: .line 1521
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkEvictionAdvice:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 9 /* evictionAdvice */
        start local 9 // boolean evictionAdvice
         1: .line 1523
            aload 7 /* valueCopier */
            instanceof org.ehcache.impl.copy.SerializingCopier
            ifeq 6
         2: .line 1524
            new org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder
            dup
            aload 2 /* value */
            lload 3 /* creationTime */
            lload 5 /* expirationTime */
            iload 9 /* evictionAdvice */
            aload 7 /* valueCopier */
            checkcast org.ehcache.impl.copy.SerializingCopier
         3: .line 1525
            invokevirtual org.ehcache.impl.copy.SerializingCopier.getSerializer:()Lorg/ehcache/spi/serialization/Serializer;
         4: .line 1524
            invokespecial org.ehcache.impl.internal.store.heap.holders.SerializedOnHeapValueHolder.<init>:(Ljava/lang/Object;JJZLorg/ehcache/spi/serialization/Serializer;)V
            astore 10 /* valueHolder */
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
         5: .line 1526
            goto 7
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
         6: .line 1527
      StackMap locals: int
      StackMap stack:
            new org.ehcache.impl.internal.store.heap.holders.CopiedOnHeapValueHolder
            dup
            aload 2 /* value */
            lload 3 /* creationTime */
            lload 5 /* expirationTime */
            iload 9 /* evictionAdvice */
            aload 7 /* valueCopier */
            invokespecial org.ehcache.impl.internal.store.heap.holders.CopiedOnHeapValueHolder.<init>:(Ljava/lang/Object;JJZLorg/ehcache/spi/copy/Copier;)V
            astore 10 /* valueHolder */
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
         7: .line 1529
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            iload 8 /* size */
            ifeq 9
         8: .line 1530
            aload 10 /* valueHolder */
            aload 0 /* this */
            aload 1 /* key */
            aload 10 /* valueHolder */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.getSizeOfKeyValuePairs:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)J
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.setSize:(J)V
         9: .line 1532
      StackMap locals:
      StackMap stack:
            aload 10 /* valueHolder */
            areturn
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
        end local 9 // boolean evictionAdvice
        end local 8 // boolean size
        end local 7 // org.ehcache.spi.copy.Copier valueCopier
        end local 5 // long expirationTime
        end local 3 // long creationTime
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     1             key  TK;
            0   10     2           value  TV;
            0   10     3    creationTime  J
            0   10     5  expirationTime  J
            0   10     7     valueCopier  Lorg/ehcache/spi/copy/Copier<TV;>;
            0   10     8            size  Z
            1   10     9  evictionAdvice  Z
            5    6    10     valueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            7   10    10     valueHolder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    Exceptions:
      throws org.ehcache.core.spi.store.heap.LimitExceededException
    Signature: (TK;TV;JJLorg/ehcache/spi/copy/Copier<TV;>;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
    MethodParameters:
                Name  Flags
      key             
      value           
      creationTime    
      expirationTime  
      valueCopier     
      size            

  private boolean checkEvictionAdvice(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 1537
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionAdvisor:Lorg/ehcache/config/EvictionAdvisor;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface org.ehcache.config.EvictionAdvisor.adviseAgainstEviction:(Ljava/lang/Object;Ljava/lang/Object;)Z
         1: ireturn
         2: .line 1538
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         3: .line 1539
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.LOG:Lorg/slf4j/Logger;
            ldc "Exception raised while running eviction advisor - Eviction will assume entry is NOT advised against eviction"
         4: .line 1540
            aload 3 /* e */
         5: .line 1539
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 1541
            iconst_0
            ireturn
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    7     1    key  TK;
            0    7     2  value  TV;
            3    7     3      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: (TK;TV;)Z
    MethodParameters:
       Name  Flags
      key    
      value  

  private void updateUsageInBytesIfRequired(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // long delta
         0: .line 1546
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            lload 1 /* delta */
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.updateUsageInBytesIfRequired:(J)V
         1: .line 1547
            return
        end local 1 // long delta
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    2     1  delta  J
    MethodParameters:
       Name  Flags
      delta  

  protected long byteSized();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 1550
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.byteSize:()J
            lreturn
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  protected void enforceCapacity();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 1553
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  boolean evict(org.ehcache.core.events.StoreEventSink<K, V>);
    descriptor: (Lorg/ehcache/core/events/StoreEventSink;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // org.ehcache.core.events.StoreEventSink eventSink
         0: .line 1576
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 1577
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            astore 2 /* random */
        start local 2 // java.util.Random random
         2: .line 1580
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 2 /* random */
            bipush 8
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.EVICTION_PRIORITIZER:Ljava/util/Comparator;
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.EVICTION_ADVISOR:Lorg/ehcache/config/EvictionAdvisor;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.getEvictionCandidate:(Ljava/util/Random;ILjava/util/Comparator;Lorg/ehcache/config/EvictionAdvisor;)Ljava/util/Map$Entry;
            astore 3 /* candidate */
        start local 3 // java.util.Map$Entry candidate
         3: .line 1582
            aload 3 /* candidate */
            ifnonnull 5
         4: .line 1584
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 2 /* random */
            bipush 8
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.EVICTION_PRIORITIZER:Ljava/util/Comparator;
            invokestatic org.ehcache.config.Eviction.noAdvice:()Lorg/ehcache/config/EvictionAdvisor;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.getEvictionCandidate:(Ljava/util/Random;ILjava/util/Comparator;Lorg/ehcache/config/EvictionAdvisor;)Ljava/util/Map$Entry;
            astore 3 /* candidate */
         5: .line 1587
      StackMap locals: java.util.Random java.util.Map$Entry
      StackMap stack:
            aload 3 /* candidate */
            ifnonnull 7
         6: .line 1588
            iconst_0
            ireturn
         7: .line 1590
      StackMap locals:
      StackMap stack:
            aload 3 /* candidate */
            astore 4 /* evictionCandidate */
        start local 4 // java.util.Map$Entry evictionCandidate
         8: .line 1591
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 5 /* removed */
        start local 5 // java.util.concurrent.atomic.AtomicBoolean removed
         9: .line 1592
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            aload 4 /* evictionCandidate */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 0 /* this */
            aload 4 /* evictionCandidate */
            aload 5 /* removed */
            aload 1 /* eventSink */
            invokedynamic apply(Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Ljava/util/Map$Entry;Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/ehcache/core/events/StoreEventSink;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/ehcache/impl/internal/store/heap/OnHeapStore.lambda$29(Ljava/util/Map$Entry;Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder; (7)
                  (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.computeIfPresent:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            pop
        10: .line 1604
            aload 5 /* removed */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 13
        11: .line 1605
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome.SUCCESS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 1606
            iconst_1
            ireturn
        13: .line 1608
      StackMap locals: java.util.Map$Entry java.util.concurrent.atomic.AtomicBoolean
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome.FAILURE:Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 1609
            iconst_0
            ireturn
        end local 5 // java.util.concurrent.atomic.AtomicBoolean removed
        end local 4 // java.util.Map$Entry evictionCandidate
        end local 3 // java.util.Map$Entry candidate
        end local 2 // java.util.Random random
        end local 1 // org.ehcache.core.events.StoreEventSink eventSink
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   15     1          eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
            2   15     2             random  Ljava/util/Random;
            3   15     3          candidate  Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            8   15     4  evictionCandidate  Ljava/util/Map$Entry<TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;>;
            9   15     5            removed  Ljava/util/concurrent/atomic/AtomicBoolean;
    Signature: (Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;)Z
    MethodParameters:
           Name  Flags
      eventSink  

  void fireOnExpirationEvent(K, org.ehcache.core.spi.store.Store$ValueHolder<V>, org.ehcache.core.events.StoreEventSink<K, V>);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 1 // java.lang.Object mappedKey
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder mappedValue
        start local 3 // org.ehcache.core.events.StoreEventSink eventSink
         0: .line 1615
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expirationObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 1616
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expirationObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ExpirationOutcome.SUCCESS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ExpirationOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         2: .line 1617
            aload 3 /* eventSink */
            aload 1 /* mappedKey */
            aload 2 /* mappedValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.expired:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         3: .line 1618
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
            aload 1 /* mappedKey */
            aload 2 /* mappedValue */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener.onInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         4: .line 1619
            return
        end local 3 // org.ehcache.core.events.StoreEventSink eventSink
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder mappedValue
        end local 1 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    5     1    mappedKey  TK;
            0    5     2  mappedValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            0    5     3    eventSink  Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
    Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;)V
    MethodParameters:
             Name  Flags
      mappedKey    
      mappedValue  
      eventSink    

  static int[] $SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$PutOutcome();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 119
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$PutOutcome:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.values:()[Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.FAILURE:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.NOOP:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$PutOutcome:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$RemoveOutcome();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 119
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$RemoveOutcome:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.values:()[Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            invokevirtual org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$statistics$StoreOperationOutcomes$RemoveOutcome:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$ehcache$core$spi$store$Store$RemoveStatus();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 119
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$RemoveStatus:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.ehcache.core.spi.store.Store$RemoveStatus.values:()[Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.KEY_MISSING:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokevirtual org.ehcache.core.spi.store.Store$RemoveStatus.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.KEY_PRESENT:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokevirtual org.ehcache.core.spi.store.Store$RemoveStatus.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.REMOVED:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokevirtual org.ehcache.core.spi.store.Store$RemoveStatus.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$RemoveStatus:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$ehcache$core$spi$store$Store$ReplaceStatus();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 119
            getstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$ReplaceStatus:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.ehcache.core.spi.store.Store$ReplaceStatus.values:()[Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.HIT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokevirtual org.ehcache.core.spi.store.Store$ReplaceStatus.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.MISS_NOT_PRESENT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokevirtual org.ehcache.core.spi.store.Store$ReplaceStatus.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.MISS_PRESENT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokevirtual org.ehcache.core.spi.store.Store$ReplaceStatus.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.ehcache.impl.internal.store.heap.OnHeapStore.$SWITCH_TABLE$org$ehcache$core$spi$store$Store$ReplaceStatus:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  private static boolean lambda$0(java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder value
         0: .line 126
            aload 1 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.evictionAdvice:()Z
            ireturn
        end local 1 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder value
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    key  Ljava/lang/Object;
            0    1     1  value  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<*>;

  private static int lambda$1(org.ehcache.core.spi.store.Store$ValueHolder, org.ehcache.core.spi.store.Store$ValueHolder);
    descriptor: (Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/spi/store/Store$ValueHolder;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.ehcache.core.spi.store.Store$ValueHolder t
        start local 1 // org.ehcache.core.spi.store.Store$ValueHolder u
         0: .line 133
            aload 0 /* t */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 2
         1: .line 134
            iconst_m1
            ireturn
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* u */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 4
         3: .line 136
            iconst_1
            ireturn
         4: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* u */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.lastAccessTime:()J
            aload 0 /* t */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.lastAccessTime:()J
            lsub
            invokestatic java.lang.Long.signum:(J)I
            ireturn
        end local 1 // org.ehcache.core.spi.store.Store$ValueHolder u
        end local 0 // org.ehcache.core.spi.store.Store$ValueHolder t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     t  Lorg/ehcache/core/spi/store/Store$ValueHolder<*>;
            0    5     1     u  Lorg/ehcache/core/spi/store/Store$ValueHolder<*>;

  private static void lambda$2(java.lang.Object, org.ehcache.core.spi.store.Store$ValueHolder);
    descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
         0: .line 144
            return
        end local 1 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0          key  Ljava/lang/Object;
            0    1     1  valueHolder  Lorg/ehcache/core/spi/store/Store$ValueHolder<Ljava/lang/Object;>;

  private static java.lang.Boolean lambda$3();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 202
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Long lambda$5();
    descriptor: ()Ljava/lang/Long;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 264
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.mappingCount:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  private java.lang.Long lambda$6();
    descriptor: ()Ljava/lang/Long;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 266
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.map:Lorg/ehcache/impl/internal/store/heap/Backend;
            invokeinterface org.ehcache.impl.internal.store.heap.Backend.byteSize:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$7(long, java.lang.Object, java.lang.Object, org.ehcache.core.events.StoreEventSink, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLjava/lang/Object;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=12, args_size=8
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 7 // java.lang.Object mappedKey
        start local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 339
            lconst_0
            lstore 9 /* delta */
        start local 9 // long delta
         1: .line 341
            aload 8 /* mappedValue */
            ifnull 4
            aload 8 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 4
         2: .line 342
            lload 9 /* delta */
            aload 8 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 9 /* delta */
         3: .line 343
            aconst_null
            astore 8 /* mappedValue */
         4: .line 348
      StackMap locals: long
      StackMap stack:
            aload 8 /* mappedValue */
            ifnonnull 10
         5: .line 349
            aload 0 /* this */
            aload 3
            aload 4
            lload 1
            aload 5
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newCreateValueHolder:(Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 11 /* newValue */
        start local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
         6: .line 350
            aload 11 /* newValue */
            ifnull 16
         7: .line 351
            lload 9 /* delta */
            aload 11 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 9 /* delta */
         8: .line 352
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         9: .line 354
            goto 16
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        10: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3
            aload 8 /* mappedValue */
            aload 4
            lload 1
            aload 5
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newUpdateValueHolder:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 11 /* newValue */
        start local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        11: .line 356
            aload 11 /* newValue */
            ifnull 14
        12: .line 357
            lload 9 /* delta */
            aload 11 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            aload 8 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            ladd
            lstore 9 /* delta */
        13: .line 358
            goto 15
        14: .line 359
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            lload 9 /* delta */
            aload 8 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 9 /* delta */
        15: .line 361
      StackMap locals:
      StackMap stack:
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        16: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 9 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        17: .line 366
            aload 11 /* newValue */
            areturn
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        end local 9 // long delta
        end local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 7 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   18     7    mappedKey  TK;
            0   18     8  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   18     9        delta  J
            6   10    11     newValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           11   18    11     newValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$8(long, org.ehcache.core.events.StoreEventSink, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 5 // java.lang.Object mappedKey
        start local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 401
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         1: .line 402
            aload 6 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 4
         2: .line 403
            aload 0 /* this */
            aload 5 /* mappedKey */
            aload 6 /* mappedValue */
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         3: .line 404
            aconst_null
            areturn
         4: .line 407
      StackMap locals:
      StackMap stack:
            aload 4
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$RemoveOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         5: .line 408
            aload 3
            aload 5 /* mappedKey */
            aload 6 /* mappedValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.removed:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         6: .line 409
            aconst_null
            areturn
        end local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 5 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    7     5    mappedKey  TK;
            0    7     6  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$9(long, org.ehcache.core.events.StoreEventSink, java.lang.Object, java.lang.Object, java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=13, args_size=9
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 8 // java.lang.Object mappedKey
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 442
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 446
            aload 9 /* mappedValue */
            ifnull 2
            aload 9 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 12
         2: .line 447
      StackMap locals: long
      StackMap stack:
            aload 9 /* mappedValue */
            ifnull 5
         3: .line 448
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 449
            aload 0 /* this */
            aload 8 /* mappedKey */
            aload 9 /* mappedValue */
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         5: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4
            aload 5
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newCreateValueHolder:(Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         6: .line 453
            aload 12 /* holder */
            ifnull 8
         7: .line 454
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
         8: .line 456
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 6
            aload 12 /* holder */
            ifnull 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack: java.util.concurrent.atomic.AtomicBoolean
         9: iconst_0
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.lang.Object java.lang.Object java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack: java.util.concurrent.atomic.AtomicBoolean int
        10: invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        11: .line 457
            goto 16
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        12: .line 458
      StackMap locals:
      StackMap stack:
            aload 7
            aload 9 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        13: .line 459
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 4
            aload 9 /* mappedValue */
            lload 1
            aload 3
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryWhenCallerlUnderLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        14: .line 460
            aload 12 /* holder */
            ifnonnull 16
        15: .line 461
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        16: .line 465
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            lload 10 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        17: .line 467
            aload 12 /* holder */
            areturn
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 10 // long delta
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 8 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   18     8    mappedKey  TK;
            0   18     9  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   18    10        delta  J
            6   12    12       holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           14   18    12       holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$10(org.ehcache.core.events.StoreEventSink, java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.lang.Object, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=10, args_size=7
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 5 // java.lang.Object mappedKey
        start local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 498
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 7 /* now */
        start local 7 // long now
         1: .line 500
            aload 6 /* mappedValue */
            lload 7 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 501
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         3: .line 502
            aload 0 /* this */
            aload 5 /* mappedKey */
            aload 6 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         4: .line 503
            aconst_null
            areturn
         5: .line 504
      StackMap locals: long
      StackMap stack:
            aload 2
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.get:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 505
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         7: .line 506
            aload 1
            aload 5 /* mappedKey */
            aload 6 /* mappedValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.removed:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         8: .line 507
            aload 3
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.REMOVED:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         9: .line 508
            aconst_null
            areturn
        10: .line 510
      StackMap locals:
      StackMap stack:
            aload 3
            getstatic org.ehcache.core.spi.store.Store$RemoveStatus.KEY_PRESENT:Lorg/ehcache/core/spi/store/Store$RemoveStatus;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        11: .line 511
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 4
            aload 6 /* mappedValue */
            lload 7 /* now */
            aload 1
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryWhenCallerlUnderLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 9 /* holder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        12: .line 512
            aload 9 /* holder */
            ifnonnull 14
        13: .line 513
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        14: .line 515
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 9 /* holder */
            areturn
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 7 // long now
        end local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 5 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   15     5    mappedKey  TK;
            0   15     6  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   15     7          now  J
           12   15     9       holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$11(org.ehcache.core.events.StoreEventSink, java.util.concurrent.atomic.AtomicReference, java.lang.Object, java.lang.Object, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Lorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 5 // java.lang.Object mappedKey
        start local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 551
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 7 /* now */
        start local 7 // long now
         1: .line 553
            aload 6 /* mappedValue */
            lload 7 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 554
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         3: .line 555
            aload 0 /* this */
            aload 5 /* mappedKey */
            aload 6 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         4: .line 556
            aconst_null
            areturn
         5: .line 558
      StackMap locals: long
      StackMap stack:
            aload 2
            aload 6 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         6: .line 559
            aload 0 /* this */
            aload 3
            aload 6 /* mappedValue */
            aload 4
            lload 7 /* now */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newUpdateValueHolder:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 9 /* holder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         7: .line 560
            aload 9 /* holder */
            ifnull 10
         8: .line 561
            aload 0 /* this */
            aload 9 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         9: .line 562
            goto 11
        10: .line 563
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            aload 6 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        11: .line 565
      StackMap locals:
      StackMap stack:
            aload 9 /* holder */
            areturn
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 7 // long now
        end local 6 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 5 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   12     5    mappedKey  TK;
            0   12     6  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   12     7          now  J
            7   12     9       holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$12(org.ehcache.core.events.StoreEventSink, java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.lang.Object, java.lang.Object, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=12, args_size=8
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 6 // java.lang.Object mappedKey
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 597
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
            invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
            lstore 8 /* now */
        start local 8 // long now
         1: .line 599
            aload 7 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.get:()Ljava/lang/Object;
            astore 10 /* existingValue */
        start local 10 // java.lang.Object existingValue
         2: .line 600
            aload 7 /* mappedValue */
            lload 8 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 6
         3: .line 601
            aload 0 /* this */
            aload 6 /* mappedKey */
            aload 7 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         4: .line 602
            aload 0 /* this */
            aload 7 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         5: .line 603
            aconst_null
            areturn
         6: .line 604
      StackMap locals: long java.lang.Object
      StackMap stack:
            aload 2
            aload 10 /* existingValue */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
         7: .line 605
            aload 3
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.HIT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         8: .line 606
            aload 0 /* this */
            aload 4
            aload 7 /* mappedValue */
            aload 5
            lload 8 /* now */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newUpdateValueHolder:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 11 /* holder */
        start local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         9: .line 607
            aload 11 /* holder */
            ifnull 12
        10: .line 608
            aload 0 /* this */
            aload 11 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            aload 7 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        11: .line 609
            goto 13
        12: .line 610
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            aload 7 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        13: .line 612
      StackMap locals:
      StackMap stack:
            aload 11 /* holder */
            areturn
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        14: .line 614
      StackMap locals:
      StackMap stack:
            aload 3
            getstatic org.ehcache.core.spi.store.Store$ReplaceStatus.MISS_PRESENT:Lorg/ehcache/core/spi/store/Store$ReplaceStatus;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        15: .line 615
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 4
            aload 7 /* mappedValue */
            lload 8 /* now */
            aload 1
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryWhenCallerlUnderLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 11 /* holder */
        start local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        16: .line 616
            aload 11 /* holder */
            ifnonnull 18
        17: .line 617
            aload 0 /* this */
            aload 7 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        18: .line 619
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 11 /* holder */
            areturn
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 10 // java.lang.Object existingValue
        end local 8 // long now
        end local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 6 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   19     6      mappedKey  TK;
            0   19     7    mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   19     8            now  J
            2   19    10  existingValue  TV;
            9   14    11         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           16   19    11         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private static org.ehcache.core.spi.store.Store$ValueHolder lambda$13(java.util.function.Function, java.lang.Object);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 706
            aload 0
            aload 1
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.ehcache.core.spi.store.Store$ValueHolder lambda$14(java.util.function.Function, java.lang.Object);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Object;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 721
            aload 0
            aload 1
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$15(java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 3 // java.lang.Object mappedKey
        start local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 796
            aload 0 /* this */
            aload 1
            aload 4 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.notifyInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         1: .line 797
            aload 2
            aload 4 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 798
            aload 0 /* this */
            aload 4 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         3: .line 799
            aconst_null
            areturn
        end local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 3 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    4     3    mappedKey  TK;
            0    4     4  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$16(org.ehcache.impl.internal.store.heap.OnHeapStore$Fault, java.lang.Object, org.ehcache.core.spi.store.Store$ValueHolder, long, java.time.Duration, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Lorg/ehcache/impl/internal/store/heap/OnHeapStore$Fault;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 7 // java.lang.Object mappedKey
        start local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 824
            aload 8 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 826
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
            aload 2
            aload 0 /* this */
            aload 2
            aload 3
            lload 4
            aload 6
            iconst_0
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.cloneValueHolder:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;JLjava/time/Duration;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener.onInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         2: .line 827
            goto 5
      StackMap locals:
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
         3: pop
         4: .line 828
            new java.lang.AssertionError
            dup
            ldc "Sizing is not expected to happen."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 830
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 832
      StackMap locals:
      StackMap stack:
            aload 8 /* mappedValue */
            areturn
        end local 8 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 7 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    7     7    mappedKey  TK;
            0    7     8  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
      Exception table:
        from    to  target  type
           1     2       3  Class org.ehcache.core.spi.store.heap.LimitExceededException

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$17(java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 3 // java.lang.Object k
        start local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder present
         0: .line 845
            aload 4 /* present */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 3
         1: .line 846
            aload 0 /* this */
            aload 1
            aload 4 /* present */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.notifyInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         2: .line 847
            aload 2
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome.REMOVED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         3: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* present */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         4: .line 850
            aconst_null
            areturn
        end local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder present
        end local 3 // java.lang.Object k
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    5     3        k  TK;
            0    5     4  present  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$18(java.util.concurrent.atomic.AtomicReference, java.util.function.Function, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Function;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 3 // java.lang.Object mappedKey
        start local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 868
            lconst_0
            lstore 5 /* size */
        start local 5 // long size
         1: .line 869
            aconst_null
            astore 7 /* holderToPass */
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holderToPass
         2: .line 870
            aload 4 /* mappedValue */
            ifnull 7
         3: .line 871
            aload 4 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lstore 5 /* size */
         4: .line 872
            aload 4 /* mappedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 7
         5: .line 873
            aload 4 /* mappedValue */
            astore 7 /* holderToPass */
         6: .line 874
            aload 1
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome.REMOVED:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         7: .line 877
      StackMap locals: long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 2
            aload 7 /* holderToPass */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 878
            aload 0 /* this */
            lload 5 /* size */
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         9: .line 879
            aconst_null
            areturn
        end local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holderToPass
        end local 5 // long size
        end local 4 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 3 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     3     mappedKey  TK;
            0   10     4   mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   10     5          size  J
            2   10     7  holderToPass  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private static java.lang.Void lambda$19(java.util.function.BiFunction, java.lang.Object, org.ehcache.core.spi.store.Store$ValueHolder);
    descriptor: (Ljava/util/function/BiFunction;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder mappedValue
         0: .line 919
            aload 0
            aload 1
            aload 2 /* mappedValue */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 920
            aconst_null
            areturn
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder mappedValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     2  mappedValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;

  private static void lambda$20(org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener, java.lang.Object, org.ehcache.core.spi.store.Store$ValueHolder);
    descriptor: (Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // java.lang.Object key
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
         0: .line 958
            aload 2 /* valueHolder */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 2
         1: .line 959
            aload 0
            aload 1 /* key */
            aload 2 /* valueHolder */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener.onInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         2: .line 961
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder valueHolder
        end local 1 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     1          key  TK;
            0    3     2  valueHolder  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$21(long, org.ehcache.core.events.StoreEventSink, java.util.concurrent.atomic.AtomicReference, java.util.function.BiFunction, java.util.concurrent.atomic.AtomicReference, java.lang.Object, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLorg/ehcache/core/events/StoreEventSink;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=15, args_size=9
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 8 // java.lang.Object mappedKey
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 1129
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 1131
            aload 9 /* mappedValue */
            ifnull 5
            aload 9 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 1132
            aload 0 /* this */
            aload 8 /* mappedKey */
            aload 9 /* mappedValue */
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         3: .line 1133
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 1134
            aconst_null
            astore 9 /* mappedValue */
         5: .line 1138
      StackMap locals: long
      StackMap stack:
            aload 9 /* mappedValue */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.get:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         7: astore 13 /* existingValue */
        start local 13 // java.lang.Object existingValue
         8: .line 1139
            aload 9 /* mappedValue */
            ifnull 10
         9: .line 1140
            aload 4
            aload 9 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        10: .line 1142
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.concurrent.atomic.AtomicReference java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.lang.Object java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long top java.lang.Object
      StackMap stack:
            aload 5
            aload 8 /* mappedKey */
            aload 13 /* existingValue */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 14 /* computedValue */
        start local 14 // java.lang.Object computedValue
        11: .line 1143
            aload 14 /* computedValue */
            ifnonnull 18
        12: .line 1144
            aload 13 /* existingValue */
            ifnull 16
        13: .line 1145
            aload 3
            aload 8 /* mappedKey */
            aload 9 /* mappedValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.removed:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
        14: .line 1146
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        15: .line 1147
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        16: .line 1149
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        17: .line 1150
            goto 30
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        18: .line 1151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* computedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
        19: .line 1152
            aload 9 /* mappedValue */
            ifnull 26
        20: .line 1153
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        21: .line 1154
            aload 0 /* this */
            aload 7
            aload 9 /* mappedValue */
            aload 14 /* computedValue */
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newUpdateValueHolder:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        22: .line 1155
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        23: .line 1156
            aload 12 /* holder */
            ifnull 30
        24: .line 1157
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
        25: .line 1159
            goto 30
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        26: .line 1160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7
            aload 14 /* computedValue */
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newCreateValueHolder:(Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        27: .line 1161
            aload 12 /* holder */
            ifnull 30
        28: .line 1162
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        29: .line 1163
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
        30: .line 1168
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.concurrent.atomic.AtomicReference java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.lang.Object java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            lload 10 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        31: .line 1170
            aload 12 /* holder */
            areturn
        end local 14 // java.lang.Object computedValue
        end local 13 // java.lang.Object existingValue
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 10 // long delta
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 8 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   32     8      mappedKey  TK;
            0   32     9    mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   32    10          delta  J
           17   18    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           22   26    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           27   32    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            8   32    13  existingValue  TV;
           11   32    14  computedValue  TV;

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$22(long, org.ehcache.core.events.StoreEventSink, java.util.function.BiFunction, java.util.concurrent.atomic.AtomicReference, java.util.function.Supplier, java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/BiFunction;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/Supplier;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=18, args_size=10
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 9 // java.lang.Object mappedKey
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 1197
            lconst_0
            lstore 11 /* delta */
        start local 11 // long delta
         1: .line 1199
            aload 10 /* mappedValue */
            ifnull 5
            aload 10 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 1200
            aload 0 /* this */
            aload 9 /* mappedKey */
            aload 10 /* mappedValue */
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         3: .line 1201
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
         4: .line 1202
            aconst_null
            astore 10 /* mappedValue */
         5: .line 1206
      StackMap locals: long
      StackMap stack:
            aload 10 /* mappedValue */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.get:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         7: astore 14 /* existingValue */
        start local 14 // java.lang.Object existingValue
         8: .line 1207
            aload 4
            aload 9 /* mappedKey */
            aload 14 /* existingValue */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 15 /* computedValue */
        start local 15 // java.lang.Object computedValue
         9: .line 1208
            aload 15 /* computedValue */
            ifnonnull 16
        10: .line 1209
            aload 14 /* existingValue */
            ifnull 14
        11: .line 1210
            aload 3
            aload 9 /* mappedKey */
            aload 10 /* mappedValue */
            invokeinterface org.ehcache.core.events.StoreEventSink.removed:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
        12: .line 1211
            aload 5
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        13: .line 1212
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        14: .line 1214
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.util.function.Supplier java.lang.Object java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long top java.lang.Object java.lang.Object
      StackMap stack:
            aconst_null
            astore 13 /* holder */
        start local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        15: .line 1215
            goto 40
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
      StackMap locals:
      StackMap stack:
        16: aload 14 /* existingValue */
            aload 15 /* computedValue */
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 23
            aload 6
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 23
            aload 10 /* mappedValue */
            ifnull 23
        17: .line 1216
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 7
            aload 10 /* mappedValue */
            lload 1
            aload 3
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryWhenCallerlUnderLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 13 /* holder */
        start local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        18: .line 1217
            aload 5
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        19: .line 1218
            aload 13 /* holder */
            ifnonnull 40
        20: .line 1219
            aload 8
            aload 10 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        21: .line 1220
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        22: .line 1222
            goto 40
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        23: .line 1223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* computedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
        24: .line 1224
            aload 10 /* mappedValue */
            ifnull 36
        25: .line 1225
            aload 5
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        26: .line 1226
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.expirationTime:()J
            lstore 16 /* expirationTime */
        start local 16 // long expirationTime
        27: .line 1227
            aload 0 /* this */
            aload 7
            aload 10 /* mappedValue */
            aload 15 /* computedValue */
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newUpdateValueHolder:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 13 /* holder */
        start local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        28: .line 1228
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        29: .line 1229
            aload 13 /* holder */
            ifnonnull 34
        30: .line 1231
            aload 8
            aload 0 /* this */
            aload 7
            aload 15 /* computedValue */
            lload 1
            lload 16 /* expirationTime */
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.valueCopier:Lorg/ehcache/spi/copy/Copier;
            iconst_0
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.makeValue:(Ljava/lang/Object;Ljava/lang/Object;JJLorg/ehcache/spi/copy/Copier;Z)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        31: .line 1232
            goto 40
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.util.function.Supplier java.lang.Object java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder java.lang.Object java.lang.Object long
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
        32: pop
        33: .line 1235
            goto 40
        34: .line 1236
      StackMap locals:
      StackMap stack:
            lload 11 /* delta */
            aload 13 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 11 /* delta */
        end local 16 // long expirationTime
        35: .line 1238
            goto 40
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        36: .line 1239
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.util.function.Supplier java.lang.Object java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long top java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 7
            aload 15 /* computedValue */
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newCreateValueHolder:(Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 13 /* holder */
        start local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        37: .line 1240
            aload 13 /* holder */
            ifnull 40
        38: .line 1241
            aload 5
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        39: .line 1242
            lload 11 /* delta */
            aload 13 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 11 /* delta */
        40: .line 1247
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.BiFunction java.util.concurrent.atomic.AtomicReference java.util.function.Supplier java.lang.Object java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            lload 11 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        41: .line 1249
            aload 13 /* holder */
            areturn
        end local 15 // java.lang.Object computedValue
        end local 14 // java.lang.Object existingValue
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 11 // long delta
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 9 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   42     0            this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   42     9       mappedKey  TK;
            0   42    10     mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   42    11           delta  J
           15   16    13          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           18   23    13          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           28   36    13          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           37   42    13          holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            8   42    14   existingValue  TV;
            9   42    15   computedValue  TV;
           27   35    16  expirationTime  J
      Exception table:
        from    to  target  type
          30    31      32  Class org.ehcache.core.spi.store.heap.LimitExceededException

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$23(long, org.ehcache.core.events.StoreEventSink, java.util.function.Function, java.lang.Object, java.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReference, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (JLorg/ehcache/core/events/StoreEventSink;Ljava/util/function/Function;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=14, args_size=9
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 8 // java.lang.Object mappedKey
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 1279
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 1282
            aload 9 /* mappedValue */
            ifnull 2
            aload 9 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 15
         2: .line 1283
      StackMap locals: long
      StackMap stack:
            aload 9 /* mappedValue */
            ifnull 5
         3: .line 1284
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 1285
            aload 0 /* this */
            aload 8 /* mappedKey */
            aload 9 /* mappedValue */
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         5: .line 1287
      StackMap locals:
      StackMap stack:
            aload 4
            aload 8 /* mappedKey */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 13 /* computedValue */
        start local 13 // java.lang.Object computedValue
         6: .line 1288
            aload 13 /* computedValue */
            ifnonnull 9
         7: .line 1289
            aconst_null
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         8: .line 1290
            goto 20
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         9: .line 1291
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.Function java.lang.Object java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 13 /* computedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
        10: .line 1292
            aload 0 /* this */
            aload 5
            aload 13 /* computedValue */
            lload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.newCreateValueHolder:(Ljava/lang/Object;Ljava/lang/Object;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        11: .line 1293
            aload 12 /* holder */
            ifnull 20
        12: .line 1294
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        13: .line 1295
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
        end local 13 // java.lang.Object computedValue
        14: .line 1298
            goto 20
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        15: .line 1299
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore long org.ehcache.core.events.StoreEventSink java.util.function.Function java.lang.Object java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicReference java.lang.Object org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder long
      StackMap stack:
            aload 7
            aload 9 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        16: .line 1300
            aload 6
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ComputeIfAbsentOutcome;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        17: .line 1301
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.strategy:Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy;
            aload 5
            aload 9 /* mappedValue */
            lload 1
            aload 3
            invokeinterface org.ehcache.impl.internal.store.heap.OnHeapStrategy.setAccessAndExpiryWhenCallerlUnderLock:(Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        18: .line 1302
            aload 12 /* holder */
            ifnonnull 20
        19: .line 1303
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        20: .line 1307
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            aload 0 /* this */
            lload 10 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        21: .line 1309
            aload 12 /* holder */
            areturn
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        end local 10 // long delta
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 8 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   22     8      mappedKey  TK;
            0   22     9    mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            1   22    10          delta  J
            8    9    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           11   15    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
           18   22    12         holder  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
            6   14    13  computedValue  TV;

  private java.lang.Object lambda$24(java.util.function.Function, java.lang.Object);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 2 // java.lang.Object k
         0: .line 1335
            aload 2 /* k */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            astore 3 /* keySet */
        start local 3 // java.lang.Iterable keySet
         1: .line 1336
            aload 1
            aload 3 /* keySet */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            astore 4 /* entries */
        start local 4 // java.lang.Iterable entries
         2: .line 1337
            aload 4 /* entries */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5 /* iterator */
        start local 5 // java.util.Iterator iterator
         3: .line 1338
            aload 5 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* next */
        start local 6 // java.util.Map$Entry next
         4: .line 1340
            aload 6 /* next */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 7 /* computedKey */
        start local 7 // java.lang.Object computedKey
         5: .line 1341
            aload 0 /* this */
            aload 7 /* computedKey */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         6: .line 1343
            aload 6 /* next */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 8 /* computedValue */
        start local 8 // java.lang.Object computedValue
         7: .line 1344
            aload 8 /* computedValue */
            ifnonnull 9
         8: .line 1345
            aconst_null
            areturn
         9: .line 1348
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.Function java.lang.Object java.lang.Iterable java.lang.Iterable java.util.Iterator java.util.Map$Entry java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 8 /* computedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
        10: .line 1349
            aload 8 /* computedValue */
            areturn
        end local 8 // java.lang.Object computedValue
        end local 7 // java.lang.Object computedKey
        end local 6 // java.util.Map$Entry next
        end local 5 // java.util.Iterator iterator
        end local 4 // java.lang.Iterable entries
        end local 3 // java.lang.Iterable keySet
        end local 2 // java.lang.Object k
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   11     2              k  TK;
            1   11     3         keySet  Ljava/lang/Iterable<TK;>;
            2   11     4        entries  Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;
            3   11     5       iterator  Ljava/util/Iterator<+Ljava/util/Map$Entry<+TK;+TV;>;>;
            4   11     6           next  Ljava/util/Map$Entry<+TK;+TV;>;
            5   11     7    computedKey  TK;
            7   11     8  computedValue  TV;

  private java.lang.Object lambda$25(java.util.function.Function, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=10, args_size=4
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 2 // java.lang.Object k
        start local 3 // java.lang.Object oldValue
         0: .line 1380
            aload 2 /* k */
            aload 3 /* oldValue */
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 4 /* entrySet */
        start local 4 // java.util.Set entrySet
         1: .line 1381
            aload 1
            aload 4 /* entrySet */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            astore 5 /* entries */
        start local 5 // java.lang.Iterable entries
         2: .line 1382
            aload 5 /* entries */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
         3: .line 1383
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* next */
        start local 7 // java.util.Map$Entry next
         4: .line 1385
            aload 7 /* next */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 8 /* key1 */
        start local 8 // java.lang.Object key1
         5: .line 1386
            aload 7 /* next */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
         6: .line 1387
            aload 0 /* this */
            aload 8 /* key1 */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         7: .line 1388
            aload 9 /* value */
            ifnull 9
         8: .line 1389
            aload 0 /* this */
            aload 9 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         9: .line 1391
      StackMap locals: org.ehcache.impl.internal.store.heap.OnHeapStore java.util.function.Function java.lang.Object java.lang.Object java.util.Set java.lang.Iterable java.util.Iterator java.util.Map$Entry java.lang.Object java.lang.Object
      StackMap stack:
            aload 9 /* value */
            areturn
        end local 9 // java.lang.Object value
        end local 8 // java.lang.Object key1
        end local 7 // java.util.Map$Entry next
        end local 6 // java.util.Iterator iterator
        end local 5 // java.lang.Iterable entries
        end local 4 // java.util.Set entrySet
        end local 3 // java.lang.Object oldValue
        end local 2 // java.lang.Object k
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0   10     2         k  TK;
            0   10     3  oldValue  TV;
            1   10     4  entrySet  Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
            2   10     5   entries  Ljava/lang/Iterable<+Ljava/util/Map$Entry<+TK;+TV;>;>;
            3   10     6  iterator  Ljava/util/Iterator<+Ljava/util/Map$Entry<+TK;+TV;>;>;
            4   10     7      next  Ljava/util/Map$Entry<+TK;+TV;>;
            5   10     8      key1  TK;
            6   10     9     value  TV;

  private static java.lang.Boolean lambda$26();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1392
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$27(org.ehcache.core.spi.store.Store$ValueHolder, java.lang.Object, org.ehcache.core.events.StoreEventSink, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Lorg/ehcache/core/spi/store/Store$ValueHolder;Ljava/lang/Object;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 4 // java.lang.Object mappedKey
        start local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 1408
            aload 5 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 1409
            aload 0 /* this */
            aload 2
            aload 1
            aload 3
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
         2: .line 1410
            aload 0 /* this */
            aload 5 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         3: .line 1411
            aconst_null
            areturn
         4: .line 1413
      StackMap locals:
      StackMap stack:
            aload 5 /* mappedValue */
            areturn
        end local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 4 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    5     4    mappedKey  TK;
            0    5     5  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;

  private static java.lang.Object lambda$28(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1430
            aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder lambda$29(java.util.Map$Entry, java.util.concurrent.atomic.AtomicBoolean, org.ehcache.core.events.StoreEventSink, java.lang.Object, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder);
    descriptor: (Ljava/util/Map$Entry;Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/ehcache/core/events/StoreEventSink;Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
        start local 4 // java.lang.Object mappedKey
        start local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
         0: .line 1593
            aload 5 /* mappedValue */
            aload 1
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.equals:(Ljava/lang/Object;)Z
            ifeq 7
         1: .line 1594
            aload 2
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         2: .line 1595
            aload 1
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 5
         3: .line 1596
            aload 3
            aload 1
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 1
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.function.Supplier
            invokeinterface org.ehcache.core.events.StoreEventSink.evicted:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         4: .line 1597
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidationListener:Lorg/ehcache/core/spi/store/tiering/CachingTier$InvalidationListener;
            aload 4 /* mappedKey */
            aload 1
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.Store$ValueHolder
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener.onInvalidation:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
         5: .line 1599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         6: .line 1600
            aconst_null
            areturn
         7: .line 1602
      StackMap locals:
      StackMap stack:
            aload 5 /* mappedValue */
            areturn
        end local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mappedValue
        end local 4 // java.lang.Object mappedKey
        end local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
            0    8     4    mappedKey  TK;
            0    8     5  mappedValue  Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/ehcache/impl/store/BaseStore<TK;TV;>;Lorg/ehcache/core/spi/store/tiering/HigherCachingTier<TK;TV;>;
SourceFile: "OnHeapStore.java"
NestMembers:
  org.ehcache.impl.internal.store.heap.OnHeapStore$1  org.ehcache.impl.internal.store.heap.OnHeapStore$2  org.ehcache.impl.internal.store.heap.OnHeapStore$2$1  org.ehcache.impl.internal.store.heap.OnHeapStore$Fault  org.ehcache.impl.internal.store.heap.OnHeapStore$Provider
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Entry = org.ehcache.Cache$Entry of org.ehcache.Cache
  public final Core = org.ehcache.config.ResourceType$Core of org.ehcache.config.ResourceType
  public abstract Configuration = org.ehcache.core.spi.store.Store$Configuration of org.ehcache.core.spi.store.Store
  public abstract Iterator = org.ehcache.core.spi.store.Store$Iterator of org.ehcache.core.spi.store.Store
  public final PutStatus = org.ehcache.core.spi.store.Store$PutStatus of org.ehcache.core.spi.store.Store
  public final RemoveStatus = org.ehcache.core.spi.store.Store$RemoveStatus of org.ehcache.core.spi.store.Store
  public final ReplaceStatus = org.ehcache.core.spi.store.Store$ReplaceStatus 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 abstract InvalidationListener = org.ehcache.core.spi.store.tiering.CachingTier$InvalidationListener of org.ehcache.core.spi.store.tiering.CachingTier
  public final GetOrComputeIfAbsentOutcome = org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome of org.ehcache.core.statistics.CachingTierOperationOutcomes
  public final InvalidateAllOutcome = org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome of org.ehcache.core.statistics.CachingTierOperationOutcomes
  public final InvalidateAllWithHashOutcome = org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllWithHashOutcome of org.ehcache.core.statistics.CachingTierOperationOutcomes
  public final InvalidateOutcome = org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome of org.ehcache.core.statistics.CachingTierOperationOutcomes
  public final SilentInvalidateAllOutcome = org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome of org.ehcache.core.statistics.HigherCachingTierOperationOutcomes
  public final SilentInvalidateAllWithHashOutcome = org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome of org.ehcache.core.statistics.HigherCachingTierOperationOutcomes
  public final SilentInvalidateOutcome = org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome of org.ehcache.core.statistics.HigherCachingTierOperationOutcomes
  public final ComputeIfAbsentOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final ComputeOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final ConditionalRemoveOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final ConditionalReplaceOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final EvictionOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final ExpirationOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ExpirationOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final GetOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final PutIfAbsentOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final PutOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final RemoveOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$RemoveOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  public final ReplaceOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
  org.ehcache.impl.internal.store.heap.OnHeapStore$1
  org.ehcache.impl.internal.store.heap.OnHeapStore$2
  private Fault = org.ehcache.impl.internal.store.heap.OnHeapStore$Fault of org.ehcache.impl.internal.store.heap.OnHeapStore
  public Provider = org.ehcache.impl.internal.store.heap.OnHeapStore$Provider of org.ehcache.impl.internal.store.heap.OnHeapStore