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.ehcache.core.statistics.OperationObserver<org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome> getObserver;
    descriptor: Lorg/ehcache/core/statistics/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/core/statistics/OperationObserver<Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private final org.ehcache.core.statistics.OperationObserver<org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome> silentInvalidateAllWithHashObserver;
    descriptor: Lorg/ehcache/core/statistics/OperationObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/ehcache/core/statistics/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 118
            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 123
            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 129
            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 139
            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 199
            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>, org.ehcache.core.spi.service.StatisticsService);
    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;Lorg/ehcache/core/spi/service/StatisticsService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, 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 // org.ehcache.core.spi.service.StatisticsService statisticsService
         0: .line 202
            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;
            aload 7 /* statisticsService */
            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;Lorg/ehcache/core/spi/service/StatisticsService;)V
         1: .line 203
            return
        end local 7 // org.ehcache.core.spi.service.StatisticsService statisticsService
        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;>;
            0    2     7  statisticsService  Lorg/ehcache/core/spi/service/StatisticsService;
    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;>;Lorg/ehcache/core/spi/service/StatisticsService;)V
    MethodParameters:
                   Name  Flags
      config             
      timeSource         
      keyCopier          
      valueCopier        
      sizeOfEngine       
      eventDispatcher    
      statisticsService  

  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<?, ?>>, org.ehcache.core.spi.service.StatisticsService);
    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;Lorg/ehcache/core/spi/service/StatisticsService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=9
        start local 0 // org.ehcache.impl.internal.store.heap.OnHeapStore this
         0: .line 19
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import edu.umd cannot be resolved\n\tThe import org.terracotta.management.model.stats.StatisticType cannot be resolved\n\tStatisticType cannot be resolved to a variable\n\tStatisticType cannot be resolved to a variable\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;>;
    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<**>;>;Lorg/ehcache/core/spi/service/StatisticsService;)V
    MethodParameters:
                    Name  Flags
      config              
      timeSource          
      keyCopier           
      valueCopier         
      sizeOfEngine        
      eventDispatcher     
      backingMapSupplier  
      statisticsService   

  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 269
            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 274
            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 279
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 281
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 283
            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 285
            aload 2 /* mapping */
            ifnonnull 6
         4: .line 286
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         5: .line 287
            aconst_null
            areturn
         6: .line 290
      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 292
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$GetOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         8: .line 293
            aload 2 /* mapping */
         9: areturn
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
        10: .line 294
      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 295
            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 301
            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 302
            aload 2 /* mapping */
            ifnonnull 3
         2: .line 303
            aconst_null
            areturn
         3: .line 306
      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 307
            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 308
            aconst_null
            areturn
         6: .line 310
      StackMap locals:
      StackMap stack:
            aload 2 /* mapping */
         7: areturn
        end local 2 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder mapping
         8: .line 311
      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 312
            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 318
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 319
            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 324
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 325
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 327
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         3: .line 329
            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 330
            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 331
            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 334
            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 365
            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 367
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 369
            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 370
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 7 /* outcome */
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 371
            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 373
      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 375
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.spi.store.Store$PutStatus.NOOP:Lorg/ehcache/core/spi/store/Store$PutStatus;
        15: areturn
        16: .line 377
      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 379
      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 380
            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 381
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutOutcome.FAILURE:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        20: .line 382
            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 388
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 390
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.removeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 391
            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 392
            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 395
            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 397
            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 408
            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 409
            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 410
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.removeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 6 /* outcome */
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         9: .line 411
            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 413
      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 415
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 417
      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 419
      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 420
            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 421
            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 427
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 428
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 430
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         3: .line 432
            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 433
            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 434
            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 435
            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 438
            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 467
            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 469
            aload 5 /* entryActuallyAdded */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 13
        10: .line 470
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        11: .line 471
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.putIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome.PUT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 472
            goto 18
        13: .line 473
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$PutIfAbsentOutcome.HIT:Lorg/ehcache/core/statistics/StoreOperationOutcomes$PutIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 475
            goto 18
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        15: astore 9 /* re */
        start local 9 // java.lang.RuntimeException re
        16: .line 476
            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 477
            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 480
      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 485
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 486
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 488
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         3: .line 490
            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 491
            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 494
            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 515
            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 516
            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 517
            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 519
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome.REMOVED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        10: .line 520
            goto 12
        11: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalRemoveObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalRemoveOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalRemoveOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 528
      StackMap locals:
      StackMap stack:
            aload 5 /* removeStatus */
        13: areturn
        end local 5 // org.ehcache.core.spi.store.Store$RemoveStatus removeStatus
        14: .line 529
      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 530
            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 531
            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 538
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 539
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 541
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         3: .line 543
            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 544
            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 547
            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 565
            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 566
            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 567
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 568
            aload 5 /* valueHolder */
            ifnull 12
        10: .line 569
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.replaceObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome.REPLACED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 570
            goto 17
        12: .line 571
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ReplaceOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ReplaceOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 5 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
        13: .line 573
            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 574
            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 575
            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 578
      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 583
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 584
            aload 0 /* this */
            aload 2 /* oldValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         2: .line 585
            aload 0 /* this */
            aload 3 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         3: .line 587
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         4: .line 589
            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 590
            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 593
            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 619
            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 620
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
         9: .line 621
            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 622
            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 624
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome.REPLACED:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 625
            goto 16
        13: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.conditionalReplaceObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ConditionalReplaceOutcome.MISS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ConditionalReplaceOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 629
            goto 16
        15: .line 631
      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 633
      StackMap locals:
      StackMap stack:
            aload 6 /* replaceStatus */
        17: areturn
        end local 6 // org.ehcache.core.spi.store.Store$ReplaceStatus replaceStatus
        18: .line 634
      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 635
            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 636
            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 642
            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 643
            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 647
            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 648
            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 695
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 696
            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 699
            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 701
            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 702
            aload 4 /* cachedValue */
            ifnonnull 10
         5: .line 703
            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 704
            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 706
            aload 4 /* cachedValue */
            ifnonnull 10
         8: .line 707
            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 713
      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 714
            aload 4 /* cachedValue */
            lload 5 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 18
        12: .line 715
            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 718
            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 719
            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 721
            aload 4 /* cachedValue */
            ifnonnull 19
        16: .line 722
            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 726
      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 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.HIT:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        20: .line 733
            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 734
      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 735
            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 742
            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 745
            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 747
            aload 4 /* cachedValue */
            ifnonnull 5
         3: .line 748
            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 751
      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 752
            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 753
            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 754
            aconst_null
            areturn
         9: .line 759
      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 761
      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 762
            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 768
            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 770
            aload 6 /* value */
            ifnull 8
         2: .line 771
            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 772
            aload 7 /* newValue */
            ifnonnull 11
         4: .line 774
            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 775
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         6: .line 776
            aload 6 /* value */
         7: areturn
        end local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
         8: .line 779
      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 780
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.MISS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        10: .line 781
            aconst_null
            areturn
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        11: .line 784
      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 785
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULTED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 786
            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 787
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        15: .line 788
            aload 7 /* newValue */
        16: areturn
        17: .line 791
      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 792
            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 799
            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 800
            aload 9 /* p */
            ifnull 27
        21: .line 801
            aload 9 /* p */
            lload 3 /* now */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.isExpired:(J)Z
            ifeq 24
        22: .line 802
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED_MISS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        23: .line 803
            aconst_null
            areturn
        24: .line 806
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        25: .line 807
            aload 9 /* p */
        26: areturn
        27: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        28: .line 811
            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 813
      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 814
            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 815
            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 820
            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 831
            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 835
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 837
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 839
            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 841
            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 849
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 2 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateOutcome
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 2 // java.util.concurrent.atomic.AtomicReference outcome
         5: .line 850
            goto 8
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         6: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         7: .line 851
            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 853
      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 857
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 859
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 862
            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 861
            astore 3 /* outcome */
        start local 3 // java.util.concurrent.atomic.AtomicReference outcome
         4: .line 864
            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 878
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 3 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateOutcome
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 3 // java.util.concurrent.atomic.AtomicReference outcome
         6: .line 879
            goto 9
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 3 /* re */
        start local 3 // java.lang.RuntimeException re
         8: .line 880
            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 882
      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 886
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 887
            lconst_0
            lstore 1 /* errorCount */
        start local 1 // long errorCount
         2: .line 888
            aconst_null
            astore 3 /* firstException */
        start local 3 // org.ehcache.spi.resilience.StoreAccessException firstException
         3: .line 889
            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 891
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.invalidate:(Ljava/lang/Object;)V
         6: .line 892
            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 893
            lload 1 /* errorCount */
            lconst_1
            ladd
            lstore 1 /* errorCount */
         9: .line 894
            aload 3 /* firstException */
            ifnonnull 11
        10: .line 895
            aload 6 /* cae */
            astore 3 /* firstException */
        end local 6 // org.ehcache.spi.resilience.StoreAccessException cae
        end local 4 // java.lang.Object key
        11: .line 889
      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 899
            aload 3 /* firstException */
            ifnull 15
        13: .line 900
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome.FAILURE:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 901
            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 903
      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 904
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllOutcome.SUCCESS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        17: .line 905
            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 909
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 910
            aconst_null
            astore 2 /* exception */
        start local 2 // org.ehcache.spi.resilience.StoreAccessException exception
         2: .line 911
            lconst_0
            lstore 3 /* errorCount */
        start local 3 // long errorCount
         3: .line 913
            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 915
            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 919
            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 920
            lload 3 /* errorCount */
            lconst_1
            ladd
            lstore 3 /* errorCount */
         9: .line 921
            aload 2 /* exception */
            ifnonnull 11
        10: .line 922
            aload 7 /* e */
            astore 2 /* exception */
        end local 7 // org.ehcache.spi.resilience.StoreAccessException e
        end local 5 // java.lang.Object k
        11: .line 913
      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 927
            aload 2 /* exception */
            ifnull 15
        13: .line 928
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome.FAILURE:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 929
            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 931
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome.SUCCESS:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        16: .line 932
            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 936
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllWithHashObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 937
            lload 1 /* hash */
            invokestatic org.ehcache.impl.store.HashUtils.longHashToInt:(J)I
            istore 4 /* intHash */
        start local 4 // int intHash
         2: .line 938
            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 939
            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 940
            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 939
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 942
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.silentInvalidateAllWithHashObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome.SUCCESS:Lorg/ehcache/core/statistics/HigherCachingTierOperationOutcomes$SilentInvalidateAllWithHashOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         8: .line 943
            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 946
            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 947
            aload 3 /* invalidationListener */
            ifnull 3
         2: .line 948
            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 950
      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 954
            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 959
            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 963
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllWithHashObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 964
            lload 1 /* hash */
            invokestatic org.ehcache.impl.store.HashUtils.longHashToInt:(J)I
            istore 3 /* intHash */
        start local 3 // int intHash
         2: .line 965
            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 966
            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 967
            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 966
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 969
            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 970
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.invalidateAllWithHashObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$InvalidateAllWithHashOutcome.SUCCESS:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$InvalidateAllWithHashOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         9: .line 971
            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 974
            aload 1 /* cachedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 2
         1: .line 975
            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 977
      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 982
            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 1114
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1116
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 1118
            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 1119
            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 1121
            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 1123
            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 1122
            astore 7 /* outcome */
        start local 7 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1125
            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 1170
            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 1171
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        10: .line 1172
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 7 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 1173
            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 1174
      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 1175
            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 1176
            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 1182
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1184
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 1186
            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 1187
            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 1189
            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 1191
            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 1190
            astore 9 /* outcome */
        start local 9 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1193
            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 1249
            aload 10 /* computeResult */
            ifnonnull 10
            aload 8 /* valueHeld */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 10
         9: .line 1250
            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 1252
      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 1253
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        12: .line 1254
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeObserver:Lorg/ehcache/core/statistics/OperationObserver;
            aload 9 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeOutcome
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 1255
            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 1256
      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 1257
            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 1258
            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 1264
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         1: .line 1266
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.computeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         2: .line 1268
            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 1270
            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 1272
            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 1274
            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 1273
            astore 7 /* outcome */
        start local 7 // java.util.concurrent.atomic.AtomicReference outcome
         7: .line 1275
            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 1308
            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 1310
            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 1311
            aload 8 /* computeResult */
            ifnull 12
        11: .line 1312
            aload 0 /* this */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.enforceCapacity:()V
        12: .line 1314
      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/ehcache/core/statistics/OperationObserver;
            aload 7 /* outcome */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.ehcache.core.statistics.StoreOperationOutcomes$ComputeIfAbsentOutcome
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 1315
            aload 8 /* computeResult */
            ifnonnull 16
            aload 9 /* previousValueHolder */
            ifnull 16
        14: .line 1317
            aload 9 /* previousValueHolder */
        15: areturn
        16: .line 1319
      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 1320
      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 1321
            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 1322
            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 1328
            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 1330
            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 1331
            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 1348
            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 1330
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1350
            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 1356
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         1: .line 1355
            astore 1 /* configurationChangeListenerList */
        start local 1 // java.util.List configurationChangeListenerList
         2: .line 1357
            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 1358
            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 1363
            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 1372
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Map result
         1: .line 1373
            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 1374
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         4: .line 1376
            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 1389
            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 1376
            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 1390
            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 1373
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1392
            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 1397
            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 1402
            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 1404
            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 1412
            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 1413
            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 1414
            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 1415
            aload 4 /* re */
            athrow
        end local 4 // java.lang.RuntimeException re
         7: .line 1417
      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 1420
            aload 2 /* oldValue */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1421
            aload 3 /* newValue */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1423
            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 1425
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            aload 7 /* duration */
            invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 1426
            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 1427
            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 1428
            aconst_null
            areturn
         7: .line 1432
      StackMap locals: java.time.Duration
      StackMap stack:
            aload 7 /* duration */
            ifnonnull 10
         8: .line 1433
            aload 2 /* oldValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.expirationTime:()J
            lstore 8 /* expirationTime */
        start local 8 // long expirationTime
         9: .line 1434
            goto 14
        end local 8 // long expirationTime
        10: .line 1435
      StackMap locals:
      StackMap stack:
            aload 7 /* duration */
            invokestatic org.ehcache.core.config.ExpiryUtils.isExpiryDurationInfinite:(Ljava/time/Duration;)Z
            ifeq 13
        11: .line 1436
            ldc -1
            lstore 8 /* expirationTime */
        start local 8 // long expirationTime
        12: .line 1437
            goto 14
        end local 8 // long expirationTime
        13: .line 1438
      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 1442
      StackMap locals: long
      StackMap stack:
            aconst_null
            astore 10 /* holder */
        start local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        15: .line 1444
            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 1445
            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 1446
            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 1447
            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 1448
            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 1450
      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 1454
            aload 2 /* value */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1456
            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 1457
            aload 6 /* duration */
            invokevirtual java.time.Duration.isZero:()Z
            ifeq 4
         3: .line 1458
            aconst_null
            areturn
         4: .line 1461
      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 1463
            aconst_null
            astore 9 /* holder */
        start local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         8: .line 1465
            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 1466
            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 1467
            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 1468
            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 1470
      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 1474
            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 1476
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            aload 7 /* expiration */
            invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
            ifeq 5
         2: .line 1477
            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 1478
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         4: .line 1479
            aconst_null
            areturn
         5: .line 1483
      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 1484
      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 1485
            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 1486
            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 1487
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.getOrComputeIfAbsentObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome.FAULT_FAILED:Lorg/ehcache/core/statistics/CachingTierOperationOutcomes$GetOrComputeIfAbsentOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 1488
            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 1493
            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 1494
            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 1496
            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 1497
            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 1498
            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 1499
            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 1498
            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 1500
            goto 13
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
         8: .line 1501
      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 1502
            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 1501
            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 1504
            goto 13
        end local 9 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder clonedValueHolder
        12: .line 1505
      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 1507
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            iload 6 /* sizingEnabled */
            ifeq 15
        14: .line 1508
            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 1510
      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 1514
            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 1518
            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 1520
            aload 7 /* valueCopier */
            instanceof org.ehcache.impl.copy.SerializingCopier
            ifeq 6
         2: .line 1521
            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 1522
            invokevirtual org.ehcache.impl.copy.SerializingCopier.getSerializer:()Lorg/ehcache/spi/serialization/Serializer;
         4: .line 1521
            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 1523
            goto 7
        end local 10 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder valueHolder
         6: .line 1524
      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 1526
      StackMap locals: org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder
      StackMap stack:
            iload 8 /* size */
            ifeq 9
         8: .line 1527
            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 1529
      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 1534
            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 1535
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         3: .line 1536
            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 1537
            aload 3 /* e */
         5: .line 1536
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 1538
            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 1543
            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 1544
            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 1547
            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 1550
            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 1573
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 1574
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            astore 2 /* random */
        start local 2 // java.util.Random random
         2: .line 1577
            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 1579
            aload 3 /* candidate */
            ifnonnull 5
         4: .line 1581
            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 1584
      StackMap locals: java.util.Random java.util.Map$Entry
      StackMap stack:
            aload 3 /* candidate */
            ifnonnull 7
         6: .line 1585
            iconst_0
            ireturn
         7: .line 1587
      StackMap locals:
      StackMap stack:
            aload 3 /* candidate */
            astore 4 /* evictionCandidate */
        start local 4 // java.util.Map$Entry evictionCandidate
         8: .line 1588
            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 1589
            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 1601
            aload 5 /* removed */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 13
        11: .line 1602
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.evictionObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome.SUCCESS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        12: .line 1603
            iconst_1
            ireturn
        13: .line 1605
      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/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome.FAILURE:Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 1606
            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 1612
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expirationObserver:Lorg/ehcache/core/statistics/OperationObserver;
            invokeinterface org.ehcache.core.statistics.OperationObserver.begin:()V
         1: .line 1613
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.heap.OnHeapStore.expirationObserver:Lorg/ehcache/core/statistics/OperationObserver;
            getstatic org.ehcache.core.statistics.StoreOperationOutcomes$ExpirationOutcome.SUCCESS:Lorg/ehcache/core/statistics/StoreOperationOutcomes$ExpirationOutcome;
            invokeinterface org.ehcache.core.statistics.OperationObserver.end:(Ljava/lang/Enum;)V
         2: .line 1614
            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 1615
            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 1616
            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 116
            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 116
            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 116
            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 116
            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 123
            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 130
            aload 0 /* t */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 2
         1: .line 131
            iconst_m1
            ireturn
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* u */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifeq 4
         3: .line 133
            iconst_1
            ireturn
         4: .line 135
      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 141
            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 199
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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 336
            lconst_0
            lstore 9 /* delta */
        start local 9 // long delta
         1: .line 338
            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 339
            lload 9 /* delta */
            aload 8 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 9 /* delta */
         3: .line 340
            aconst_null
            astore 8 /* mappedValue */
         4: .line 345
      StackMap locals: long
      StackMap stack:
            aload 8 /* mappedValue */
            ifnonnull 10
         5: .line 346
            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 347
            aload 11 /* newValue */
            ifnull 16
         7: .line 348
            lload 9 /* delta */
            aload 11 /* newValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 9 /* delta */
         8: .line 349
            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 351
            goto 16
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder newValue
        10: .line 352
      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 353
            aload 11 /* newValue */
            ifnull 14
        12: .line 354
            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 355
            goto 15
        14: .line 356
      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 358
      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 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 9 /* delta */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
        17: .line 363
            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 398
            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 399
            aload 6 /* mappedValue */
            lload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 4
         2: .line 400
            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 401
            aconst_null
            areturn
         4: .line 404
      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 405
            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 406
            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 439
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 443
            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 444
      StackMap locals: long
      StackMap stack:
            aload 9 /* mappedValue */
            ifnull 5
         3: .line 445
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 446
            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 449
      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 450
            aload 12 /* holder */
            ifnull 8
         7: .line 451
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
         8: .line 453
      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 454
            goto 16
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        12: .line 455
      StackMap locals:
      StackMap stack:
            aload 7
            aload 9 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        13: .line 456
            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 457
            aload 12 /* holder */
            ifnonnull 16
        15: .line 458
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        16: .line 462
      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 464
            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 495
            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 497
            aload 6 /* mappedValue */
            lload 7 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 498
            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 499
            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 500
            aconst_null
            areturn
         5: .line 501
      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 502
            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 503
            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 504
            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 505
            aconst_null
            areturn
        10: .line 507
      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 508
            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 509
            aload 9 /* holder */
            ifnonnull 14
        13: .line 510
            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 512
      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 548
            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 550
            aload 6 /* mappedValue */
            lload 7 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 5
         2: .line 551
            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 552
            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 553
            aconst_null
            areturn
         5: .line 555
      StackMap locals: long
      StackMap stack:
            aload 2
            aload 6 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         6: .line 556
            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 557
            aload 9 /* holder */
            ifnull 10
         8: .line 558
            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 559
            goto 11
        10: .line 560
      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 562
      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 594
            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 596
            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 597
            aload 7 /* mappedValue */
            lload 8 /* now */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
            ifeq 6
         3: .line 598
            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 599
            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 600
            aconst_null
            areturn
         6: .line 601
      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 602
            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 603
            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 604
            aload 11 /* holder */
            ifnull 12
        10: .line 605
            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 606
            goto 13
        12: .line 607
      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 609
      StackMap locals:
      StackMap stack:
            aload 11 /* holder */
            areturn
        end local 11 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        14: .line 611
      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 612
            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 613
            aload 11 /* holder */
            ifnonnull 18
        17: .line 614
            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 616
      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 703
            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 718
            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 793
            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 794
            aload 2
            aload 4 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 795
            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 796
            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 821
            aload 8 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 823
            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 824
            goto 5
      StackMap locals:
      StackMap stack: org.ehcache.core.spi.store.heap.LimitExceededException
         3: pop
         4: .line 825
            new java.lang.AssertionError
            dup
            ldc "Sizing is not expected to happen."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 827
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 829
      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 842
            aload 4 /* present */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 3
         1: .line 843
            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 844
            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 846
      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 847
            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 865
            lconst_0
            lstore 5 /* size */
        start local 5 // long size
         1: .line 866
            aconst_null
            astore 7 /* holderToPass */
        start local 7 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holderToPass
         2: .line 867
            aload 4 /* mappedValue */
            ifnull 7
         3: .line 868
            aload 4 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lstore 5 /* size */
         4: .line 869
            aload 4 /* mappedValue */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 7
         5: .line 870
            aload 4 /* mappedValue */
            astore 7 /* holderToPass */
         6: .line 871
            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 874
      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 875
            aload 0 /* this */
            lload 5 /* size */
            lneg
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.updateUsageInBytesIfRequired:(J)V
         9: .line 876
            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 916
            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 917
            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 955
            aload 2 /* valueHolder */
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 2
         1: .line 956
            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 958
      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 1126
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 1128
            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 1129
            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 1130
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 1131
            aconst_null
            astore 9 /* mappedValue */
         5: .line 1135
      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 1136
            aload 9 /* mappedValue */
            ifnull 10
         9: .line 1137
            aload 4
            aload 9 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        10: .line 1139
      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 1140
            aload 14 /* computedValue */
            ifnonnull 18
        12: .line 1141
            aload 13 /* existingValue */
            ifnull 16
        13: .line 1142
            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 1143
            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 1144
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        16: .line 1146
      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 1147
            goto 30
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        18: .line 1148
      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 1149
            aload 9 /* mappedValue */
            ifnull 26
        20: .line 1150
            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 1151
            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 1152
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        23: .line 1153
            aload 12 /* holder */
            ifnull 30
        24: .line 1154
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
        25: .line 1156
            goto 30
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        26: .line 1157
      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 1158
            aload 12 /* holder */
            ifnull 30
        28: .line 1159
            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 1160
            lload 10 /* delta */
            aload 12 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 10 /* delta */
        30: .line 1165
      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 1167
            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 1194
            lconst_0
            lstore 11 /* delta */
        start local 11 // long delta
         1: .line 1196
            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 1197
            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 1198
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
         4: .line 1199
            aconst_null
            astore 10 /* mappedValue */
         5: .line 1203
      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 1204
            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 1205
            aload 15 /* computedValue */
            ifnonnull 16
        10: .line 1206
            aload 14 /* existingValue */
            ifnull 14
        11: .line 1207
            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 1208
            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 1209
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        14: .line 1211
      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 1212
            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 1213
            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 1214
            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 1215
            aload 13 /* holder */
            ifnonnull 40
        20: .line 1216
            aload 8
            aload 10 /* mappedValue */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        21: .line 1217
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        22: .line 1219
            goto 40
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        23: .line 1220
      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 1221
            aload 10 /* mappedValue */
            ifnull 36
        25: .line 1222
            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 1223
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.expirationTime:()J
            lstore 16 /* expirationTime */
        start local 16 // long expirationTime
        27: .line 1224
            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 1225
            lload 11 /* delta */
            aload 10 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 11 /* delta */
        29: .line 1226
            aload 13 /* holder */
            ifnonnull 34
        30: .line 1228
            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 1229
            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 1232
            goto 40
        34: .line 1233
      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 1235
            goto 40
        end local 13 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        36: .line 1236
      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 1237
            aload 13 /* holder */
            ifnull 40
        38: .line 1238
            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 1239
            lload 11 /* delta */
            aload 13 /* holder */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            ladd
            lstore 11 /* delta */
        40: .line 1244
      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 1246
            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 1276
            lconst_0
            lstore 10 /* delta */
        start local 10 // long delta
         1: .line 1279
            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 1280
      StackMap locals: long
      StackMap stack:
            aload 9 /* mappedValue */
            ifnull 5
         3: .line 1281
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
         4: .line 1282
            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 1284
      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 1285
            aload 13 /* computedValue */
            ifnonnull 9
         7: .line 1286
            aconst_null
            astore 12 /* holder */
        start local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         8: .line 1287
            goto 20
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
         9: .line 1288
      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 1289
            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 1290
            aload 12 /* holder */
            ifnull 20
        12: .line 1291
            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 1292
            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 1295
            goto 20
        end local 12 // org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder holder
        15: .line 1296
      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 1297
            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 1298
            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 1299
            aload 12 /* holder */
            ifnonnull 20
        19: .line 1300
            lload 10 /* delta */
            aload 9 /* mappedValue */
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.size:()J
            lsub
            lstore 10 /* delta */
        20: .line 1304
      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 1306
            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 1332
            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 1333
            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 1334
            aload 4 /* entries */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5 /* iterator */
        start local 5 // java.util.Iterator iterator
         3: .line 1335
            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 1337
            aload 6 /* next */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 7 /* computedKey */
        start local 7 // java.lang.Object computedKey
         5: .line 1338
            aload 0 /* this */
            aload 7 /* computedKey */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         6: .line 1340
            aload 6 /* next */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 8 /* computedValue */
        start local 8 // java.lang.Object computedValue
         7: .line 1341
            aload 8 /* computedValue */
            ifnonnull 9
         8: .line 1342
            aconst_null
            areturn
         9: .line 1345
      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 1346
            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 1377
            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 1378
            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 1379
            aload 5 /* entries */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
         3: .line 1380
            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 1382
            aload 7 /* next */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 8 /* key1 */
        start local 8 // java.lang.Object key1
         5: .line 1383
            aload 7 /* next */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
         6: .line 1384
            aload 0 /* this */
            aload 8 /* key1 */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkKey:(Ljava/lang/Object;)V
         7: .line 1385
            aload 9 /* value */
            ifnull 9
         8: .line 1386
            aload 0 /* this */
            aload 9 /* value */
            invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.checkValue:(Ljava/lang/Object;)V
         9: .line 1388
      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 1389
            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 1405
            aload 5 /* mappedValue */
            aload 1
            invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 1406
            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 1407
            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 1408
            aconst_null
            areturn
         4: .line 1410
      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 1427
            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 1590
            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 1591
            aload 2
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         2: .line 1592
            aload 1
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            instanceof org.ehcache.impl.internal.store.heap.OnHeapStore$Fault
            ifne 5
         3: .line 1593
            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 1594
            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 1596
      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 1597
            aconst_null
            areturn
         7: .line 1599
      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 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$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