final class org.ehcache.core.Ehcache$Jsr107CacheImpl extends org.ehcache.core.EhcacheBase<K, V>.Jsr107CacheBase
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.ehcache.core.Ehcache$Jsr107CacheImpl
  super_class: org.ehcache.core.EhcacheBase$Jsr107CacheBase
{
  final org.ehcache.core.Ehcache this$0;
    descriptor: Lorg/ehcache/core/Ehcache;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.ehcache.core.Ehcache);
    descriptor: (Lorg/ehcache/core/Ehcache;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
         0: .line 177
            aload 0 /* this */
            aload 1
            putfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            aload 0 /* this */
            aload 1
            invokespecial org.ehcache.core.EhcacheBase$Jsr107CacheBase.<init>:(Lorg/ehcache/core/EhcacheBase;)V
            return
        end local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;
    MethodParameters:
        Name  Flags
      this$0  final

  public void compute(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>, java.util.function.Supplier<java.lang.Boolean>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.BiFunction computeFunction
        start local 3 // java.util.function.Supplier replaceEqual
        start local 4 // java.util.function.Supplier invokeWriter
        start local 5 // java.util.function.Supplier withStatsAndEvents
         0: .line 182
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 183
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 184
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         3: .line 187
            aload 0 /* this */
            aload 2 /* computeFunction */
            invokedynamic apply(Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;Ljava/util/function/BiFunction;)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/core/Ehcache$Jsr107CacheImpl.lambda$0(Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* fn */
        start local 6 // java.util.function.BiFunction fn
         4: .line 198
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.store:Lorg/ehcache/core/spi/store/Store;
            aload 1 /* key */
            aload 6 /* fn */
            aload 3 /* replaceEqual */
            aload 4 /* invokeWriter */
            invokeinterface org.ehcache.core.spi.store.Store.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 /* compute */
        start local 7 // org.ehcache.core.spi.store.Store$ValueHolder compute
         5: .line 199
            aload 7 /* compute */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: java.util.function.BiFunction org.ehcache.core.spi.store.Store$ValueHolder
      StackMap stack:
         6: aload 7 /* compute */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.get:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         7: astore 8 /* newValue */
        start local 8 // java.lang.Object newValue
         8: .line 200
            aload 5 /* withStatsAndEvents */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 16
         9: .line 201
            aload 8 /* newValue */
            ifnonnull 12
        10: .line 202
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$RemoveOutcome.SUCCESS:Lorg/ehcache/core/statistics/CacheOperationOutcomes$RemoveOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        11: .line 203
            goto 16
        12: .line 204
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$PutOutcome.PUT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$PutOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        end local 8 // java.lang.Object newValue
        end local 7 // org.ehcache.core.spi.store.Store$ValueHolder compute
        end local 6 // java.util.function.BiFunction fn
        13: .line 207
            goto 16
      StackMap locals: org.ehcache.core.Ehcache$Jsr107CacheImpl java.lang.Object java.util.function.BiFunction java.util.function.Supplier java.util.function.Supplier java.util.function.Supplier
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
        14: astore 6 /* e */
        start local 6 // org.ehcache.spi.resilience.StoreAccessException e
        15: .line 208
            new java.lang.RuntimeException
            dup
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.ehcache.spi.resilience.StoreAccessException e
        16: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.function.Supplier withStatsAndEvents
        end local 4 // java.util.function.Supplier invokeWriter
        end local 3 // java.util.function.Supplier replaceEqual
        end local 2 // java.util.function.BiFunction computeFunction
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;
            0   17     1                 key  TK;
            0   17     2     computeFunction  Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
            0   17     3        replaceEqual  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            0   17     4        invokeWriter  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            0   17     5  withStatsAndEvents  Ljava/util/function/Supplier<Ljava/lang/Boolean;>;
            4   13     6                  fn  Ljava/util/function/BiFunction<TK;TV;TV;>;
            5   13     7             compute  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            8   13     8            newValue  TV;
           15   16     6                   e  Lorg/ehcache/spi/resilience/StoreAccessException;
      Exception table:
        from    to  target  type
           3    13      14  Class 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;>;Ljava/util/function/Supplier<Ljava/lang/Boolean;>;)V
    MethodParameters:
                    Name  Flags
      key                 
      computeFunction     final
      replaceEqual        final
      invokeWriter        final
      withStatsAndEvents  final

  public V getAndRemove();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
        start local 1 // java.lang.Object key
         0: .line 214
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 215
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 219
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.store:Lorg/ehcache/core/spi/store/Store;
            aload 1 /* key */
            invokedynamic apply()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/core/Ehcache$Jsr107CacheImpl.lambda$1(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface org.ehcache.core.spi.store.Store.getAndCompute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 2 /* existingValue */
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
         3: .line 220
            goto 8
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
      StackMap locals:
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
         4: astore 3 /* e */
        start local 3 // org.ehcache.spi.resilience.StoreAccessException e
         5: .line 221
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.FAILURE:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         6: .line 222
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$RemoveOutcome.FAILURE:Lorg/ehcache/core/statistics/CacheOperationOutcomes$RemoveOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         7: .line 223
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // org.ehcache.spi.resilience.StoreAccessException e
        start local 2 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
         8: .line 226
      StackMap locals: org.ehcache.core.spi.store.Store$ValueHolder
      StackMap stack:
            aload 2 /* existingValue */
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* existingValue */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.get:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 3 /* returnValue */
        start local 3 // java.lang.Object returnValue
        11: .line 227
            aload 3 /* returnValue */
            ifnull 15
        12: .line 228
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 229
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.removeObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$RemoveOutcome.SUCCESS:Lorg/ehcache/core/statistics/CacheOperationOutcomes$RemoveOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        14: .line 230
            goto 16
        15: .line 231
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.MISS:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        16: .line 233
      StackMap locals:
      StackMap stack:
            aload 3 /* returnValue */
            areturn
        end local 3 // java.lang.Object returnValue
        end local 2 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;
            0   17     1            key  TK;
            3    4     2  existingValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            8   17     2  existingValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            5    8     3              e  Lorg/ehcache/spi/resilience/StoreAccessException;
           11   17     3    returnValue  TV;
      Exception table:
        from    to  target  type
           2     3       4  Class org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;)TV;
    MethodParameters:
      Name  Flags
      key   

  public V getAndPut(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 238
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         1: .line 239
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.begin:()V
         2: .line 243
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.store:Lorg/ehcache/core/spi/store/Store;
            aload 1 /* key */
            aload 2 /* value */
            invokedynamic apply(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/core/Ehcache$Jsr107CacheImpl.lambda$2(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface org.ehcache.core.spi.store.Store.getAndCompute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Lorg/ehcache/core/spi/store/Store$ValueHolder;
            astore 3 /* existingValue */
        start local 3 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
         3: .line 244
            goto 8
        end local 3 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
      StackMap locals:
      StackMap stack: org.ehcache.spi.resilience.StoreAccessException
         4: astore 4 /* e */
        start local 4 // org.ehcache.spi.resilience.StoreAccessException e
         5: .line 245
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.FAILURE:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         6: .line 246
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$PutOutcome.FAILURE:Lorg/ehcache/core/statistics/CacheOperationOutcomes$PutOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         7: .line 247
            new java.lang.RuntimeException
            dup
            aload 4 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.ehcache.spi.resilience.StoreAccessException e
        start local 3 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
         8: .line 250
      StackMap locals: org.ehcache.core.spi.store.Store$ValueHolder
      StackMap stack:
            aload 3 /* existingValue */
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 3 /* existingValue */
            invokeinterface org.ehcache.core.spi.store.Store$ValueHolder.get:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* returnValue */
        start local 4 // java.lang.Object returnValue
        11: .line 251
            aload 4 /* returnValue */
            ifnull 14
        12: .line 252
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        13: .line 253
            goto 15
        14: .line 254
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.MISS:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        15: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.putObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$PutOutcome.PUT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$PutOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
        16: .line 257
            aload 4 /* returnValue */
            areturn
        end local 4 // java.lang.Object returnValue
        end local 3 // org.ehcache.core.spi.store.Store$ValueHolder existingValue
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;
            0   17     1            key  TK;
            0   17     2          value  TV;
            3    4     3  existingValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            8   17     3  existingValue  Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
            5    8     4              e  Lorg/ehcache/spi/resilience/StoreAccessException;
           11   17     4    returnValue  TV;
      Exception table:
        from    to  target  type
           2     3       4  Class org.ehcache.spi.resilience.StoreAccessException
    Signature: (TK;TV;)TV;
    MethodParameters:
       Name  Flags
      key    
      value  final

  private java.lang.Object lambda$0(java.util.function.BiFunction, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/util/function/BiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
        start local 2 // java.lang.Object mappedKey
        start local 3 // java.lang.Object mappedValue
         0: .line 188
            aload 3 /* mappedValue */
            ifnonnull 3
         1: .line 189
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.MISS:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         2: .line 190
            goto 4
         3: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.Ehcache$Jsr107CacheImpl.this$0:Lorg/ehcache/core/Ehcache;
            getfield org.ehcache.core.Ehcache.getObserver:Lorg/terracotta/statistics/observer/OperationObserver;
            getstatic org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome.HIT:Lorg/ehcache/core/statistics/CacheOperationOutcomes$GetOutcome;
            invokeinterface org.terracotta.statistics.observer.OperationObserver.end:(Ljava/lang/Enum;)V
         4: .line 194
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* mappedKey */
            aload 3 /* mappedValue */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object mappedValue
        end local 2 // java.lang.Object mappedKey
        end local 0 // org.ehcache.core.Ehcache$Jsr107CacheImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/ehcache/core/Ehcache$Jsr107CacheImpl;
            0    5     2    mappedKey  TK;
            0    5     3  mappedValue  TV;

  private static java.lang.Object lambda$1(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object mappedKey
        start local 1 // java.lang.Object mappedValue
         0: .line 219
            aconst_null
            areturn
        end local 1 // java.lang.Object mappedValue
        end local 0 // java.lang.Object mappedKey
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0    mappedKey  TK;
            0    1     1  mappedValue  TV;

  private static java.lang.Object lambda$2(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // java.lang.Object mappedKey
        start local 2 // java.lang.Object mappedValue
         0: .line 243
            aload 0
            areturn
        end local 2 // java.lang.Object mappedValue
        end local 1 // java.lang.Object mappedKey
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     1    mappedKey  TK;
            0    1     2  mappedValue  TV;
}
Signature: Lorg/ehcache/core/EhcacheBase<TK;TV;>.Jsr107CacheBase;
SourceFile: "Ehcache.java"
NestHost: org.ehcache.core.Ehcache
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final Jsr107CacheImpl = org.ehcache.core.Ehcache$Jsr107CacheImpl of org.ehcache.core.Ehcache
  protected abstract Jsr107CacheBase = org.ehcache.core.EhcacheBase$Jsr107CacheBase of org.ehcache.core.EhcacheBase
  public abstract ValueHolder = org.ehcache.core.spi.store.Store$ValueHolder of org.ehcache.core.spi.store.Store
  public final GetOutcome = org.ehcache.core.statistics.CacheOperationOutcomes$GetOutcome of org.ehcache.core.statistics.CacheOperationOutcomes
  public final PutOutcome = org.ehcache.core.statistics.CacheOperationOutcomes$PutOutcome of org.ehcache.core.statistics.CacheOperationOutcomes
  public final RemoveOutcome = org.ehcache.core.statistics.CacheOperationOutcomes$RemoveOutcome of org.ehcache.core.statistics.CacheOperationOutcomes