class com.google.common.cache.LocalCache$LoadingValueReference<K, V> implements com.google.common.cache.LocalCache$ValueReference<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.cache.LocalCache$LoadingValueReference
  super_class: java.lang.Object
{
  volatile com.google.common.cache.LocalCache$ValueReference<K, V> oldValue;
    descriptor: Lcom/google/common/cache/LocalCache$ValueReference;
    flags: (0x0040) ACC_VOLATILE
    Signature: Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;

  final com.google.common.util.concurrent.SettableFuture<V> futureValue;
    descriptor: Lcom/google/common/util/concurrent/SettableFuture;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/google/common/util/concurrent/SettableFuture<TV;>;

  final com.google.common.base.Stopwatch stopwatch;
    descriptor: Lcom/google/common/base/Stopwatch;
    flags: (0x0010) ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3474
            aload 0 /* this */
            aconst_null
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference.<init>:(Lcom/google/common/cache/LocalCache$ValueReference;)V
         1: .line 3475
            return
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;

  public void <init>(com.google.common.cache.LocalCache$ValueReference<K, V>);
    descriptor: (Lcom/google/common/cache/LocalCache$ValueReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // com.google.common.cache.LocalCache$ValueReference oldValue
         0: .line 3477
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3470
            aload 0 /* this */
            invokestatic com.google.common.util.concurrent.SettableFuture.create:()Lcom/google/common/util/concurrent/SettableFuture;
            putfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
         2: .line 3471
            aload 0 /* this */
            invokestatic com.google.common.base.Stopwatch.createUnstarted:()Lcom/google/common/base/Stopwatch;
            putfield com.google.common.cache.LocalCache$LoadingValueReference.stopwatch:Lcom/google/common/base/Stopwatch;
         3: .line 3478
            aload 0 /* this */
            aload 1 /* oldValue */
            ifnonnull 4
            invokestatic com.google.common.cache.LocalCache.unset:()Lcom/google/common/cache/LocalCache$ValueReference;
            goto 5
      StackMap locals: com.google.common.cache.LocalCache$LoadingValueReference com.google.common.cache.LocalCache$ValueReference
      StackMap stack: com.google.common.cache.LocalCache$LoadingValueReference
         4: aload 1 /* oldValue */
      StackMap locals: com.google.common.cache.LocalCache$LoadingValueReference com.google.common.cache.LocalCache$ValueReference
      StackMap stack: com.google.common.cache.LocalCache$LoadingValueReference com.google.common.cache.LocalCache$ValueReference
         5: putfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
         6: .line 3479
            return
        end local 1 // com.google.common.cache.LocalCache$ValueReference oldValue
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    7     1  oldValue  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
    Signature: (Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;)V
    MethodParameters:
          Name  Flags
      oldValue  

  public boolean isLoading();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3483
            iconst_1
            ireturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;

  public boolean isActive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3488
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ireturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;

  public int getWeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3493
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            ireturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;

  public boolean set();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Object newValue
         0: .line 3497
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
            aload 1 /* newValue */
            invokevirtual com.google.common.util.concurrent.SettableFuture.set:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object newValue
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    1     1  newValue  TV;
    Signature: (TV;)Z
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      newValue  

  public boolean setException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Throwable t
         0: .line 3501
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
            aload 1 /* t */
            invokevirtual com.google.common.util.concurrent.SettableFuture.setException:(Ljava/lang/Throwable;)Z
            ireturn
        end local 1 // java.lang.Throwable t
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    1     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  private com.google.common.util.concurrent.ListenableFuture<V> fullyFailedFuture(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Throwable t
         0: .line 3505
            aload 1 /* t */
            invokestatic com.google.common.util.concurrent.Futures.immediateFailedFuture:(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    1     1     t  Ljava/lang/Throwable;
    Signature: (Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    MethodParameters:
      Name  Flags
      t     

  public void notifyNewValue();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Object newValue
         0: .line 3510
            aload 1 /* newValue */
            ifnull 3
         1: .line 3513
            aload 0 /* this */
            aload 1 /* newValue */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.set:(Ljava/lang/Object;)Z
            pop
         2: .line 3514
            goto 4
         3: .line 3516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic com.google.common.cache.LocalCache.unset:()Lcom/google/common/cache/LocalCache$ValueReference;
            putfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
         4: .line 3520
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object newValue
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    5     1  newValue  TV;
    Signature: (TV;)V
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      newValue  

  public com.google.common.util.concurrent.ListenableFuture<V> loadFuture(K, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Object key
        start local 2 // com.google.common.cache.CacheLoader loader
         0: .line 3524
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.stopwatch:Lcom/google/common/base/Stopwatch;
            invokevirtual com.google.common.base.Stopwatch.start:()Lcom/google/common/base/Stopwatch;
            pop
         1: .line 3525
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 3 /* previousValue */
        start local 3 // java.lang.Object previousValue
         2: .line 3526
            aload 3 /* previousValue */
            ifnonnull 7
         3: .line 3527
            aload 2 /* loader */
            aload 1 /* key */
            invokevirtual com.google.common.cache.CacheLoader.load:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* newValue */
        start local 4 // java.lang.Object newValue
         4: .line 3528
            aload 0 /* this */
            aload 4 /* newValue */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.set:(Ljava/lang/Object;)Z
            ifeq 5
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
            goto 6
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
         5: aload 4 /* newValue */
            invokestatic com.google.common.util.concurrent.Futures.immediateFuture:(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
      StackMap locals:
      StackMap stack: com.google.common.util.concurrent.ListenableFuture
         6: areturn
        end local 4 // java.lang.Object newValue
         7: .line 3530
      StackMap locals:
      StackMap stack:
            aload 2 /* loader */
            aload 1 /* key */
            aload 3 /* previousValue */
            invokevirtual com.google.common.cache.CacheLoader.reload:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 4 /* newValue */
        start local 4 // com.google.common.util.concurrent.ListenableFuture newValue
         8: .line 3531
            aload 4 /* newValue */
            ifnonnull 11
         9: .line 3532
            aconst_null
            invokestatic com.google.common.util.concurrent.Futures.immediateFuture:(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
        10: areturn
        11: .line 3537
      StackMap locals: com.google.common.util.concurrent.ListenableFuture
      StackMap stack:
            aload 4 /* newValue */
        12: .line 3538
            new com.google.common.cache.LocalCache$LoadingValueReference$1
            dup
            aload 0 /* this */
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference$1.<init>:(Lcom/google/common/cache/LocalCache$LoadingValueReference;)V
        13: .line 3545
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
        14: .line 3536
            invokestatic com.google.common.util.concurrent.Futures.transform:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
        15: areturn
        end local 4 // com.google.common.util.concurrent.ListenableFuture newValue
        end local 3 // java.lang.Object previousValue
        16: .line 3546
      StackMap locals: com.google.common.cache.LocalCache$LoadingValueReference java.lang.Object com.google.common.cache.CacheLoader
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        17: .line 3547
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.setException:(Ljava/lang/Throwable;)Z
            ifeq 18
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
            goto 19
      StackMap locals: java.lang.Throwable
      StackMap stack:
        18: aload 0 /* this */
            aload 3 /* t */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.fullyFailedFuture:(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
      StackMap locals:
      StackMap stack: com.google.common.util.concurrent.ListenableFuture
        19: astore 4 /* result */
        start local 4 // com.google.common.util.concurrent.ListenableFuture result
        20: .line 3548
            aload 3 /* t */
            instanceof java.lang.InterruptedException
            ifeq 22
        21: .line 3549
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        22: .line 3551
      StackMap locals: com.google.common.util.concurrent.ListenableFuture
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // com.google.common.util.concurrent.ListenableFuture result
        end local 3 // java.lang.Throwable t
        end local 2 // com.google.common.cache.CacheLoader loader
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0   23     1            key  TK;
            0   23     2         loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            2   16     3  previousValue  TV;
            4    7     4       newValue  TV;
            8   16     4       newValue  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
           17   23     3              t  Ljava/lang/Throwable;
           20   23     4         result  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
      Exception table:
        from    to  target  type
           0     6      16  Class java.lang.Throwable
           7    10      16  Class java.lang.Throwable
          11    15      16  Class java.lang.Throwable
    Signature: (TK;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    MethodParameters:
        Name  Flags
      key     
      loader  

  public V compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.Object key
        start local 2 // java.util.function.BiFunction function
         0: .line 3556
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.stopwatch:Lcom/google/common/base/Stopwatch;
            invokevirtual com.google.common.base.Stopwatch.start:()Lcom/google/common/base/Stopwatch;
            pop
         1: .line 3559
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.waitForValue:()Ljava/lang/Object;
            astore 3 /* previousValue */
        start local 3 // java.lang.Object previousValue
         2: .line 3560
            goto 5
        end local 3 // java.lang.Object previousValue
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
         3: pop
         4: .line 3561
            aconst_null
            astore 3 /* previousValue */
        start local 3 // java.lang.Object previousValue
         5: .line 3565
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* function */
            aload 1 /* key */
            aload 3 /* previousValue */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* newValue */
        start local 4 // java.lang.Object newValue
         6: .line 3566
            goto 10
        end local 4 // java.lang.Object newValue
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5 /* th */
        start local 5 // java.lang.Throwable th
         8: .line 3567
            aload 0 /* this */
            aload 5 /* th */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.setException:(Ljava/lang/Throwable;)Z
            pop
         9: .line 3568
            aload 5 /* th */
            athrow
        end local 5 // java.lang.Throwable th
        start local 4 // java.lang.Object newValue
        10: .line 3570
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newValue */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.set:(Ljava/lang/Object;)Z
            pop
        11: .line 3571
            aload 4 /* newValue */
            areturn
        end local 4 // java.lang.Object newValue
        end local 3 // java.lang.Object previousValue
        end local 2 // java.util.function.BiFunction function
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0   12     1            key  TK;
            0   12     2       function  Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
            2    3     3  previousValue  TV;
            5   12     3  previousValue  TV;
            6    7     4       newValue  TV;
           10   12     4       newValue  TV;
            8   10     5             th  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.util.concurrent.ExecutionException
           5     6       7  Class java.lang.Throwable
    Signature: (TK;Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)TV;
    MethodParameters:
          Name  Flags
      key       
      function  

  public long elapsedNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3575
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.stopwatch:Lcom/google/common/base/Stopwatch;
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.google.common.base.Stopwatch.elapsed:(Ljava/util/concurrent/TimeUnit;)J
            lreturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;

  public V waitForValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3580
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.futureValue:Lcom/google/common/util/concurrent/SettableFuture;
            invokestatic com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            areturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: ()TV;

  public V get();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3585
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            areturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
    Signature: ()TV;

  public com.google.common.cache.LocalCache$ValueReference<K, V> getOldValue();
    descriptor: ()Lcom/google/common/cache/LocalCache$ValueReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3589
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$LoadingValueReference.oldValue:Lcom/google/common/cache/LocalCache$ValueReference;
            areturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
    Signature: ()Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;

  public com.google.common.cache.ReferenceEntry<K, V> getEntry();
    descriptor: ()Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
         0: .line 3594
            aconst_null
            areturn
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
    Signature: ()Lcom/google/common/cache/ReferenceEntry<TK;TV;>;

  public com.google.common.cache.LocalCache$ValueReference<K, V> copyFor(java.lang.ref.ReferenceQueue<V>, V, com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Ljava/lang/ref/ReferenceQueue;Ljava/lang/Object;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/LocalCache$ValueReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
        start local 1 // java.lang.ref.ReferenceQueue queue
        start local 2 // java.lang.Object value
        start local 3 // com.google.common.cache.ReferenceEntry entry
         0: .line 3600
            aload 0 /* this */
            areturn
        end local 3 // com.google.common.cache.ReferenceEntry entry
        end local 2 // java.lang.Object value
        end local 1 // java.lang.ref.ReferenceQueue queue
        end local 0 // com.google.common.cache.LocalCache$LoadingValueReference this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    1     1  queue  Ljava/lang/ref/ReferenceQueue<TV;>;
            0    1     2  value  TV;
            0    1     3  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Ljava/lang/ref/ReferenceQueue<TV;>;TV;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      queue  
      value  
      entry  
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
SourceFile: "LocalCache.java"
NestHost: com.google.common.cache.LocalCache
InnerClasses:
  LoadingValueReference = com.google.common.cache.LocalCache$LoadingValueReference of com.google.common.cache.LocalCache
  com.google.common.cache.LocalCache$LoadingValueReference$1
  abstract ValueReference = com.google.common.cache.LocalCache$ValueReference of com.google.common.cache.LocalCache