class com.google.common.cache.LocalCache$Segment<K, V> extends java.util.concurrent.locks.ReentrantLock
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.cache.LocalCache$Segment
  super_class: java.util.concurrent.locks.ReentrantLock
{
  final com.google.common.cache.LocalCache<K, V> map;
    descriptor: Lcom/google/common/cache/LocalCache;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/google/common/cache/LocalCache<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.j2objc.annotations.Weak()

  volatile int count;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  long totalWeight;
    descriptor: J
    flags: (0x0000) 
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  int modCount;
    descriptor: I
    flags: (0x0000) 

  int threshold;
    descriptor: I
    flags: (0x0000) 

  volatile java.util.concurrent.atomic.AtomicReferenceArray<com.google.common.cache.ReferenceEntry<K, V>> table;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.MonotonicNonNull()

  final long maxSegmentWeight;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final java.lang.ref.ReferenceQueue<K> keyReferenceQueue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/ref/ReferenceQueue<TK;>;
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.Nullable()

  final java.lang.ref.ReferenceQueue<V> valueReferenceQueue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/ref/ReferenceQueue<TV;>;
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.Nullable()

  final java.util.Queue<com.google.common.cache.ReferenceEntry<K, V>> recencyQueue;
    descriptor: Ljava/util/Queue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Queue<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;

  final java.util.concurrent.atomic.AtomicInteger readCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0010) ACC_FINAL

  final java.util.Queue<com.google.common.cache.ReferenceEntry<K, V>> writeQueue;
    descriptor: Ljava/util/Queue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Queue<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  final java.util.Queue<com.google.common.cache.ReferenceEntry<K, V>> accessQueue;
    descriptor: Ljava/util/Queue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Queue<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  final com.google.common.cache.AbstractCache$StatsCounter statsCounter;
    descriptor: Lcom/google/common/cache/AbstractCache$StatsCounter;
    flags: (0x0010) ACC_FINAL

  void <init>(com.google.common.cache.LocalCache<K, V>, int, long, com.google.common.cache.AbstractCache$StatsCounter);
    descriptor: (Lcom/google/common/cache/LocalCache;IJLcom/google/common/cache/AbstractCache$StatsCounter;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.LocalCache map
        start local 2 // int initialCapacity
        start local 3 // long maxSegmentWeight
        start local 5 // com.google.common.cache.AbstractCache$StatsCounter statsCounter
         0: .line 1934
            aload 0 /* this */
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
         1: .line 1915
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield com.google.common.cache.LocalCache$Segment.readCount:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 1939
            aload 0 /* this */
            aload 1 /* map */
            putfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
         3: .line 1940
            aload 0 /* this */
            lload 3 /* maxSegmentWeight */
            putfield com.google.common.cache.LocalCache$Segment.maxSegmentWeight:J
         4: .line 1941
            aload 0 /* this */
            aload 5 /* statsCounter */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.cache.AbstractCache$StatsCounter
            putfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
         5: .line 1942
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* initialCapacity */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntryArray:(I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
            invokevirtual com.google.common.cache.LocalCache$Segment.initTable:(Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
         6: .line 1944
            aload 0 /* this */
            aload 1 /* map */
            invokevirtual com.google.common.cache.LocalCache.usesKeyReferences:()Z
            ifeq 7
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            goto 8
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment
         7: aconst_null
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment java.lang.ref.ReferenceQueue
         8: putfield com.google.common.cache.LocalCache$Segment.keyReferenceQueue:Ljava/lang/ref/ReferenceQueue;
         9: .line 1946
            aload 0 /* this */
            aload 1 /* map */
            invokevirtual com.google.common.cache.LocalCache.usesValueReferences:()Z
            ifeq 10
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            goto 11
      StackMap locals:
      StackMap stack: com.google.common.cache.LocalCache$Segment
        10: aconst_null
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment java.lang.ref.ReferenceQueue
        11: putfield com.google.common.cache.LocalCache$Segment.valueReferenceQueue:Ljava/lang/ref/ReferenceQueue;
        12: .line 1948
            aload 0 /* this */
        13: .line 1949
            aload 1 /* map */
            invokevirtual com.google.common.cache.LocalCache.usesAccessQueue:()Z
            ifeq 15
        14: .line 1950
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            goto 16
        15: .line 1951
      StackMap locals:
      StackMap stack: com.google.common.cache.LocalCache$Segment
            invokestatic com.google.common.cache.LocalCache.discardingQueue:()Ljava/util/Queue;
        16: .line 1948
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment java.util.Queue
            putfield com.google.common.cache.LocalCache$Segment.recencyQueue:Ljava/util/Queue;
        17: .line 1953
            aload 0 /* this */
        18: .line 1954
            aload 1 /* map */
            invokevirtual com.google.common.cache.LocalCache.usesWriteQueue:()Z
            ifeq 20
        19: .line 1955
            new com.google.common.cache.LocalCache$WriteQueue
            dup
            invokespecial com.google.common.cache.LocalCache$WriteQueue.<init>:()V
            goto 21
        20: .line 1956
      StackMap locals:
      StackMap stack: com.google.common.cache.LocalCache$Segment
            invokestatic com.google.common.cache.LocalCache.discardingQueue:()Ljava/util/Queue;
        21: .line 1953
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment java.util.Queue
            putfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
        22: .line 1958
            aload 0 /* this */
        23: .line 1959
            aload 1 /* map */
            invokevirtual com.google.common.cache.LocalCache.usesAccessQueue:()Z
            ifeq 25
        24: .line 1960
            new com.google.common.cache.LocalCache$AccessQueue
            dup
            invokespecial com.google.common.cache.LocalCache$AccessQueue.<init>:()V
            goto 26
        25: .line 1961
      StackMap locals:
      StackMap stack: com.google.common.cache.LocalCache$Segment
            invokestatic com.google.common.cache.LocalCache.discardingQueue:()Ljava/util/Queue;
        26: .line 1958
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.LocalCache int long com.google.common.cache.AbstractCache$StatsCounter
      StackMap stack: com.google.common.cache.LocalCache$Segment java.util.Queue
            putfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
        27: .line 1962
            return
        end local 5 // com.google.common.cache.AbstractCache$StatsCounter statsCounter
        end local 3 // long maxSegmentWeight
        end local 2 // int initialCapacity
        end local 1 // com.google.common.cache.LocalCache map
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   28     1               map  Lcom/google/common/cache/LocalCache<TK;TV;>;
            0   28     2   initialCapacity  I
            0   28     3  maxSegmentWeight  J
            0   28     5      statsCounter  Lcom/google/common/cache/AbstractCache$StatsCounter;
    Signature: (Lcom/google/common/cache/LocalCache<TK;TV;>;IJLcom/google/common/cache/AbstractCache$StatsCounter;)V
    MethodParameters:
                  Name  Flags
      map               
      initialCapacity   
      maxSegmentWeight  
      statsCounter      

  java.util.concurrent.atomic.AtomicReferenceArray<com.google.common.cache.ReferenceEntry<K, V>> newEntryArray(int);
    descriptor: (I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // int size
         0: .line 1965
            new java.util.concurrent.atomic.AtomicReferenceArray
            dup
            iload 1 /* size */
            invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
            areturn
        end local 1 // int size
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    1     1  size  I
    Signature: (I)Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    MethodParameters:
      Name  Flags
      size  

  void initTable(java.util.concurrent.atomic.AtomicReferenceArray<com.google.common.cache.ReferenceEntry<K, V>>);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.util.concurrent.atomic.AtomicReferenceArray newTable
         0: .line 1969
            aload 0 /* this */
            aload 1 /* newTable */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_3
            imul
            iconst_4
            idiv
            putfield com.google.common.cache.LocalCache$Segment.threshold:I
         1: .line 1970
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.customWeigher:()Z
            ifne 3
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.threshold:I
            i2l
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.maxSegmentWeight:J
            lcmp
            ifne 3
         2: .line 1972
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.threshold:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.threshold:I
         3: .line 1974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newTable */
            putfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
         4: .line 1975
            return
        end local 1 // java.util.concurrent.atomic.AtomicReferenceArray newTable
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    5     1  newTable  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    Signature: (Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;)V
    MethodParameters:
          Name  Flags
      newTable  

  com.google.common.cache.ReferenceEntry<K, V> newEntry(K, int, com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.ReferenceEntry next
         0: .line 1979
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.entryFactory:Lcom/google/common/cache/LocalCache$EntryFactory;
            aload 0 /* this */
            aload 1 /* key */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* hash */
            aload 3 /* next */
            invokevirtual com.google.common.cache.LocalCache$EntryFactory.newEntry:(Lcom/google/common/cache/LocalCache$Segment;Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            areturn
        end local 3 // com.google.common.cache.ReferenceEntry next
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    1     1   key  TK;
            0    1     2  hash  I
            0    1     3  next  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (TK;ILcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   
      hash  
      next  

  com.google.common.cache.ReferenceEntry<K, V> copyEntry(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry original
        start local 2 // com.google.common.cache.ReferenceEntry newNext
         0: .line 1988
            aload 1 /* original */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            ifnonnull 2
         1: .line 1990
            aconst_null
            areturn
         2: .line 1993
      StackMap locals:
      StackMap stack:
            aload 1 /* original */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 3 /* valueReference */
        start local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
         3: .line 1994
            aload 3 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         4: .line 1995
            aload 4 /* value */
            ifnonnull 6
            aload 3 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 6
         5: .line 1997
            aconst_null
            areturn
         6: .line 2000
      StackMap locals: com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.entryFactory:Lcom/google/common/cache/LocalCache$EntryFactory;
            aload 0 /* this */
            aload 1 /* original */
            aload 2 /* newNext */
            invokevirtual com.google.common.cache.LocalCache$EntryFactory.copyEntry:(Lcom/google/common/cache/LocalCache$Segment;Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* newEntry */
        start local 5 // com.google.common.cache.ReferenceEntry newEntry
         7: .line 2001
            aload 5 /* newEntry */
            aload 3 /* valueReference */
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.valueReferenceQueue:Ljava/lang/ref/ReferenceQueue;
            aload 4 /* value */
            aload 5 /* newEntry */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.copyFor:(Ljava/lang/ref/ReferenceQueue;Ljava/lang/Object;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
         8: .line 2002
            aload 5 /* newEntry */
            areturn
        end local 5 // com.google.common.cache.ReferenceEntry newEntry
        end local 4 // java.lang.Object value
        end local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 2 // com.google.common.cache.ReferenceEntry newNext
        end local 1 // com.google.common.cache.ReferenceEntry original
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    9     1        original  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    9     2         newNext  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            3    9     3  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            4    9     4           value  TV;
            7    9     5        newEntry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
          Name  Flags
      original  
      newNext   

  void setValue(com.google.common.cache.ReferenceEntry<K, V>, K, V, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // java.lang.Object key
        start local 3 // java.lang.Object value
        start local 4 // long now
         0: .line 2008
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 6 /* previous */
        start local 6 // com.google.common.cache.LocalCache$ValueReference previous
         1: .line 2009
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.weigher:Lcom/google/common/cache/Weigher;
            aload 2 /* key */
            aload 3 /* value */
            invokeinterface com.google.common.cache.Weigher.weigh:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 7 /* weight */
        start local 7 // int weight
         2: .line 2010
            iload 7 /* weight */
            iflt 3
            iconst_1
            goto 4
      StackMap locals: com.google.common.cache.LocalCache$ValueReference int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: ldc "Weights must be non-negative"
            invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/Object;)V
         5: .line 2013
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.valueStrength:Lcom/google/common/cache/LocalCache$Strength;
            aload 0 /* this */
            aload 1 /* entry */
            aload 3 /* value */
            iload 7 /* weight */
            invokevirtual com.google.common.cache.LocalCache$Strength.referenceValue:(Lcom/google/common/cache/LocalCache$Segment;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;I)Lcom/google/common/cache/LocalCache$ValueReference;
         6: .line 2012
            astore 8 /* valueReference */
        start local 8 // com.google.common.cache.LocalCache$ValueReference valueReference
         7: .line 2014
            aload 1 /* entry */
            aload 8 /* valueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
         8: .line 2015
            aload 0 /* this */
            aload 1 /* entry */
            iload 7 /* weight */
            lload 4 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordWrite:(Lcom/google/common/cache/ReferenceEntry;IJ)V
         9: .line 2016
            aload 6 /* previous */
            aload 3 /* value */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.notifyNewValue:(Ljava/lang/Object;)V
        10: .line 2017
            return
        end local 8 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 7 // int weight
        end local 6 // com.google.common.cache.LocalCache$ValueReference previous
        end local 4 // long now
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object key
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   11     1           entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   11     2             key  TK;
            0   11     3           value  TV;
            0   11     4             now  J
            1   11     6        previous  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            2   11     7          weight  I
            7   11     8  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;TK;TV;J)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
       Name  Flags
      entry  
      key    
      value  
      now    

  V get(K, int, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.CacheLoader loader
         0: .line 2022
            aload 1 /* key */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2023
            aload 3 /* loader */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2025
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            ifeq 18
         3: .line 2027
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            invokevirtual com.google.common.cache.LocalCache$Segment.getEntry:(Ljava/lang/Object;I)Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
        start local 4 // com.google.common.cache.ReferenceEntry e
         4: .line 2028
            aload 4 /* e */
            ifnull 18
         5: .line 2029
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         6: .line 2030
            aload 0 /* this */
            aload 4 /* e */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.getLiveValue:(Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
         7: .line 2031
            aload 7 /* value */
            ifnull 13
         8: .line 2032
            aload 0 /* this */
            aload 4 /* e */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordRead:(Lcom/google/common/cache/ReferenceEntry;J)V
         9: .line 2033
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
        10: .line 2034
            aload 0 /* this */
            aload 4 /* e */
            aload 1 /* key */
            iload 2 /* hash */
            aload 7 /* value */
            lload 5 /* now */
            aload 3 /* loader */
            invokevirtual com.google.common.cache.LocalCache$Segment.scheduleRefresh:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;JLcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
            astore 10
        11: .line 2054
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        12: .line 2034
            aload 10
            areturn
        13: .line 2036
      StackMap locals: com.google.common.cache.ReferenceEntry long java.lang.Object
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 8 /* valueReference */
        start local 8 // com.google.common.cache.LocalCache$ValueReference valueReference
        14: .line 2037
            aload 8 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifeq 18
        15: .line 2038
            aload 0 /* this */
            aload 4 /* e */
            aload 1 /* key */
            aload 8 /* valueReference */
            invokevirtual com.google.common.cache.LocalCache$Segment.waitForLoadingValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;)Ljava/lang/Object;
            astore 10
        16: .line 2054
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        17: .line 2038
            aload 10
            areturn
        end local 8 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 7 // java.lang.Object value
        end local 5 // long now
        end local 4 // com.google.common.cache.ReferenceEntry e
        18: .line 2044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loader */
            invokevirtual com.google.common.cache.LocalCache$Segment.lockedGetOrLoad:(Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
            astore 10
        19: .line 2054
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        20: .line 2044
            aload 10
            areturn
        21: .line 2045
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
            astore 4 /* ee */
        start local 4 // java.util.concurrent.ExecutionException ee
        22: .line 2046
            aload 4 /* ee */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
        23: .line 2047
            aload 5 /* cause */
            instanceof java.lang.Error
            ifeq 25
        24: .line 2048
            new com.google.common.util.concurrent.ExecutionError
            dup
            aload 5 /* cause */
            checkcast java.lang.Error
            invokespecial com.google.common.util.concurrent.ExecutionError.<init>:(Ljava/lang/Error;)V
            athrow
        25: .line 2049
      StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
      StackMap stack:
            aload 5 /* cause */
            instanceof java.lang.RuntimeException
            ifeq 27
        26: .line 2050
            new com.google.common.util.concurrent.UncheckedExecutionException
            dup
            aload 5 /* cause */
            invokespecial com.google.common.util.concurrent.UncheckedExecutionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        27: .line 2052
      StackMap locals:
      StackMap stack:
            aload 4 /* ee */
            athrow
        end local 5 // java.lang.Throwable cause
        end local 4 // java.util.concurrent.ExecutionException ee
        28: .line 2053
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader
      StackMap stack: java.lang.Throwable
            astore 9
        29: .line 2054
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        30: .line 2055
            aload 9
            athrow
        end local 3 // com.google.common.cache.CacheLoader loader
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   31     1             key  TK;
            0   31     2            hash  I
            0   31     3          loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            4   18     4               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            6   18     5             now  J
            7   18     7           value  TV;
           14   18     8  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           22   28     4              ee  Ljava/util/concurrent/ExecutionException;
           23   28     5           cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2    11      21  Class java.util.concurrent.ExecutionException
          13    16      21  Class java.util.concurrent.ExecutionException
          18    19      21  Class java.util.concurrent.ExecutionException
           2    11      28  any
          13    16      28  any
          18    19      28  any
          21    28      28  any
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: (TK;ILcom/google/common/cache/CacheLoader<-TK;TV;>;)TV;
    MethodParameters:
        Name  Flags
      key     
      hash    
      loader  

  V get(, );
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
         0: .line 2061
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            ifeq 13
         1: .line 2062
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 3 /* now */
        start local 3 // long now
         2: .line 2063
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.getLiveEntry:(Ljava/lang/Object;IJ)Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* e */
        start local 5 // com.google.common.cache.ReferenceEntry e
         3: .line 2064
            aload 5 /* e */
            ifnonnull 6
         4: .line 2077
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
         5: .line 2065
            aconst_null
            areturn
         6: .line 2068
      StackMap locals: long com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
         7: .line 2069
            aload 6 /* value */
            ifnull 12
         8: .line 2070
            aload 0 /* this */
            aload 5 /* e */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordRead:(Lcom/google/common/cache/ReferenceEntry;J)V
         9: .line 2071
            aload 0 /* this */
            aload 5 /* e */
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            iload 2 /* hash */
            aload 6 /* value */
            lload 3 /* now */
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.defaultLoader:Lcom/google/common/cache/CacheLoader;
            invokevirtual com.google.common.cache.LocalCache$Segment.scheduleRefresh:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;JLcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
            astore 8
        10: .line 2077
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        11: .line 2071
            aload 8
            areturn
        12: .line 2073
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryDrainReferenceQueues:()V
        end local 6 // java.lang.Object value
        end local 5 // com.google.common.cache.ReferenceEntry e
        end local 3 // long now
        13: .line 2077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        14: .line 2075
            aconst_null
            areturn
        15: .line 2076
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        16: .line 2077
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        17: .line 2078
            aload 7
            athrow
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   18     1    key  Ljava/lang/Object;
            0   18     2   hash  I
            2   13     3    now  J
            3   13     5      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            7   13     6  value  TV;
      Exception table:
        from    to  target  type
           0     4      15  any
           6    10      15  any
          12    13      15  any
    Signature: (Ljava/lang/Object;I)TV;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   
      hash  

  V lockedGetOrLoad(K, int, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=18, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.CacheLoader loader
         0: .line 2083
            aconst_null
            astore 5 /* valueReference */
        start local 5 // com.google.common.cache.LocalCache$ValueReference valueReference
         1: .line 2084
            aconst_null
            astore 6 /* loadingValueReference */
        start local 6 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
         2: .line 2085
            iconst_1
            istore 7 /* createNewEntry */
        start local 7 // boolean createNewEntry
         3: .line 2087
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         4: .line 2090
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 8 /* now */
        start local 8 // long now
         5: .line 2091
            aload 0 /* this */
            lload 8 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         6: .line 2093
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 10 /* newCount */
        start local 10 // int newCount
         7: .line 2094
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 11 /* table */
        start local 11 // java.util.concurrent.atomic.AtomicReferenceArray table
         8: .line 2095
            iload 2 /* hash */
            aload 11 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 12 /* index */
        start local 12 // int index
         9: .line 2096
            aload 11 /* table */
            iload 12 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 13 /* first */
        start local 13 // com.google.common.cache.ReferenceEntry first
        10: .line 2098
            aload 13 /* first */
            astore 4 /* e */
        start local 4 // com.google.common.cache.ReferenceEntry e
        11: goto 42
        12: .line 2099
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 14 /* entryKey */
        start local 14 // java.lang.Object entryKey
        13: .line 2100
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 41
        14: .line 2101
            aload 14 /* entryKey */
            ifnull 41
        15: .line 2102
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 14 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 41
        16: .line 2103
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 5 /* valueReference */
        17: .line 2104
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifeq 20
        18: .line 2105
            iconst_0
            istore 7 /* createNewEntry */
        19: .line 2106
            goto 43
        20: .line 2107
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 15 /* value */
        start local 15 // java.lang.Object value
        21: .line 2108
            aload 15 /* value */
            ifnonnull 26
        22: .line 2109
            aload 0 /* this */
        23: .line 2110
            aload 14 /* entryKey */
            iload 2 /* hash */
            aload 15 /* value */
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        24: .line 2109
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        25: .line 2111
            goto 37
      StackMap locals: java.lang.Object
      StackMap stack:
        26: aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 4 /* e */
            lload 8 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifeq 31
        27: .line 2114
            aload 0 /* this */
        28: .line 2115
            aload 14 /* entryKey */
            iload 2 /* hash */
            aload 15 /* value */
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.EXPIRED:Lcom/google/common/cache/RemovalCause;
        29: .line 2114
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        30: .line 2116
            goto 37
        31: .line 2117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* e */
            lload 8 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordLockedRead:(Lcom/google/common/cache/ReferenceEntry;J)V
        32: .line 2118
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordHits:(I)V
        33: .line 2120
            aload 15 /* value */
            astore 17
        34: .line 2144
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        35: .line 2145
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        36: .line 2120
            aload 17
            areturn
        37: .line 2124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            aload 4 /* e */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
        38: .line 2125
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 4 /* e */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
        39: .line 2126
            aload 0 /* this */
            iload 10 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        end local 15 // java.lang.Object value
        40: .line 2128
            goto 43
        end local 14 // java.lang.Object entryKey
        41: .line 2098
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
      StackMap locals:
      StackMap stack:
        42: aload 4 /* e */
            ifnonnull 12
        43: .line 2132
      StackMap locals:
      StackMap stack:
            iload 7 /* createNewEntry */
            ifeq 56
        44: .line 2133
            new com.google.common.cache.LocalCache$LoadingValueReference
            dup
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference.<init>:()V
            astore 6 /* loadingValueReference */
        45: .line 2135
            aload 4 /* e */
            ifnonnull 50
        46: .line 2136
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 13 /* first */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
        47: .line 2137
            aload 4 /* e */
            aload 6 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        48: .line 2138
            aload 11 /* table */
            iload 12 /* index */
            aload 4 /* e */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        49: .line 2139
            goto 56
        50: .line 2140
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            aload 6 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        end local 13 // com.google.common.cache.ReferenceEntry first
        end local 12 // int index
        end local 11 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 10 // int newCount
        end local 8 // long now
        51: .line 2143
            goto 56
        end local 4 // com.google.common.cache.ReferenceEntry e
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader top com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int
      StackMap stack: java.lang.Throwable
        52: astore 16
        53: .line 2144
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        54: .line 2145
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        55: .line 2146
            aload 16
            athrow
        start local 4 // com.google.common.cache.ReferenceEntry e
        56: .line 2144
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        57: .line 2145
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        58: .line 2148
            iload 7 /* createNewEntry */
            ifeq 68
        59: .line 2153
            aload 4 /* e */
            dup
            astore 8
            monitorenter
        60: .line 2154
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 6 /* loadingValueReference */
            aload 3 /* loader */
            invokevirtual com.google.common.cache.LocalCache$Segment.loadSync:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
            astore 10
            aload 8
            monitorexit
        61: .line 2157
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
        62: .line 2154
            aload 10
            areturn
        63: .line 2153
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int com.google.common.cache.ReferenceEntry
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
        64: athrow
        65: .line 2156
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int
      StackMap stack: java.lang.Throwable
            astore 9
        66: .line 2157
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
        67: .line 2158
            aload 9
            athrow
        68: .line 2161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* e */
            aload 1 /* key */
            aload 5 /* valueReference */
            invokevirtual com.google.common.cache.LocalCache$Segment.waitForLoadingValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;)Ljava/lang/Object;
            areturn
        end local 7 // boolean createNewEntry
        end local 6 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 5 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 4 // com.google.common.cache.ReferenceEntry e
        end local 3 // com.google.common.cache.CacheLoader loader
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   69     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   69     1                    key  TK;
            0   69     2                   hash  I
            0   69     3                 loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
           11   52     4                      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           56   69     4                      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            1   69     5         valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            2   69     6  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            3   69     7         createNewEntry  Z
            5   51     8                    now  J
            7   51    10               newCount  I
            8   51    11                  table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            9   51    12                  index  I
           10   51    13                  first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           13   41    14               entryKey  TK;
           21   40    15                  value  TV;
      Exception table:
        from    to  target  type
           4    34      52  any
          37    52      52  any
          60    61      63  any
          63    64      63  any
          59    61      65  any
          63    65      65  any
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: (TK;ILcom/google/common/cache/CacheLoader<-TK;TV;>;)TV;
    MethodParameters:
        Name  Flags
      key     
      hash    
      loader  

  V waitForLoadingValue(com.google.common.cache.ReferenceEntry<K, V>, K, com.google.common.cache.LocalCache$ValueReference<K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry e
        start local 2 // java.lang.Object key
        start local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
         0: .line 2167
            aload 3 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifne 2
         1: .line 2168
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2171
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ldc "Recursive load of: %s"
            aload 2 /* key */
            invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
         5: .line 2174
            aload 3 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.waitForValue:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: .line 2175
            aload 4 /* value */
            ifnonnull 8
         7: .line 2176
            new com.google.common.cache.CacheLoader$InvalidCacheLoadException
            dup
            new java.lang.StringBuilder
            dup
            ldc "CacheLoader returned null for key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.google.common.cache.CacheLoader$InvalidCacheLoadException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2179
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         9: .line 2180
            aload 0 /* this */
            aload 1 /* e */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordRead:(Lcom/google/common/cache/ReferenceEntry;J)V
        10: .line 2181
            aload 4 /* value */
            astore 8
        11: .line 2183
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
        12: .line 2181
            aload 8
            areturn
        end local 5 // long now
        end local 4 // java.lang.Object value
        13: .line 2182
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.ReferenceEntry java.lang.Object com.google.common.cache.LocalCache$ValueReference
      StackMap stack: java.lang.Throwable
            astore 7
        14: .line 2183
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            iconst_1
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordMisses:(I)V
        15: .line 2184
            aload 7
            athrow
        end local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 2 // java.lang.Object key
        end local 1 // com.google.common.cache.ReferenceEntry e
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   16     1               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   16     2             key  TK;
            0   16     3  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            6   13     4           value  TV;
            9   13     5             now  J
      Exception table:
        from    to  target  type
           5    11      13  any
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;TK;Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;)TV;
    MethodParameters:
                Name  Flags
      e               
      key             
      valueReference  

  V compute(K, int, java.util.function.BiFunction<? super K, ? super V, ? extends V>);
    descriptor: (Ljava/lang/Object;ILjava/util/function/BiFunction;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=17, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.util.function.BiFunction function
         0: .line 2189
            aconst_null
            astore 5 /* valueReference */
        start local 5 // com.google.common.cache.LocalCache$ValueReference valueReference
         1: .line 2190
            aconst_null
            astore 6 /* loadingValueReference */
        start local 6 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
         2: .line 2191
            iconst_1
            istore 7 /* createNewEntry */
        start local 7 // boolean createNewEntry
         3: .line 2194
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         4: .line 2197
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 9 /* now */
        start local 9 // long now
         5: .line 2198
            aload 0 /* this */
            lload 9 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         6: .line 2200
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 11 /* table */
        start local 11 // java.util.concurrent.atomic.AtomicReferenceArray table
         7: .line 2201
            iload 2 /* hash */
            aload 11 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 12 /* index */
        start local 12 // int index
         8: .line 2202
            aload 11 /* table */
            iload 12 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 13 /* first */
        start local 13 // com.google.common.cache.ReferenceEntry first
         9: .line 2204
            aload 13 /* first */
            astore 4 /* e */
        start local 4 // com.google.common.cache.ReferenceEntry e
        10: goto 29
        11: .line 2205
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.util.function.BiFunction com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int top long java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 14 /* entryKey */
        start local 14 // java.lang.Object entryKey
        12: .line 2206
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 28
        13: .line 2207
            aload 14 /* entryKey */
            ifnull 28
        14: .line 2208
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 14 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 28
        15: .line 2209
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 5 /* valueReference */
        16: .line 2210
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 4 /* e */
            lload 9 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifeq 24
        17: .line 2213
            aload 0 /* this */
        18: .line 2214
            aload 14 /* entryKey */
        19: .line 2215
            iload 2 /* hash */
        20: .line 2216
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
        21: .line 2217
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
        22: .line 2218
            getstatic com.google.common.cache.RemovalCause.EXPIRED:Lcom/google/common/cache/RemovalCause;
        23: .line 2213
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        24: .line 2222
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            aload 4 /* e */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
        25: .line 2223
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 4 /* e */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
        26: .line 2224
            iconst_0
            istore 7 /* createNewEntry */
        27: .line 2225
            goto 30
        end local 14 // java.lang.Object entryKey
        28: .line 2204
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
      StackMap locals:
      StackMap stack:
        29: aload 4 /* e */
            ifnonnull 11
        30: .line 2231
      StackMap locals:
      StackMap stack:
            new com.google.common.cache.LocalCache$LoadingValueReference
            dup
            aload 5 /* valueReference */
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference.<init>:(Lcom/google/common/cache/LocalCache$ValueReference;)V
            astore 6 /* loadingValueReference */
        31: .line 2233
            aload 4 /* e */
            ifnonnull 37
        32: .line 2234
            iconst_1
            istore 7 /* createNewEntry */
        33: .line 2235
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 13 /* first */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
        34: .line 2236
            aload 4 /* e */
            aload 6 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        35: .line 2237
            aload 11 /* table */
            iload 12 /* index */
            aload 4 /* e */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        36: .line 2238
            goto 38
        37: .line 2239
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            aload 6 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        38: .line 2242
      StackMap locals:
      StackMap stack:
            aload 6 /* loadingValueReference */
            aload 1 /* key */
            aload 3 /* function */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            astore 8 /* newValue */
        start local 8 // java.lang.Object newValue
        39: .line 2243
            aload 8 /* newValue */
            ifnull 55
        40: .line 2244
            aload 5 /* valueReference */
            ifnull 47
            aload 8 /* newValue */
            aload 5 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            if_acmpne 47
        41: .line 2245
            aload 6 /* loadingValueReference */
            aload 8 /* newValue */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.set:(Ljava/lang/Object;)Z
            pop
        42: .line 2246
            aload 0 /* this */
            aload 4 /* e */
            aload 1 /* key */
            aload 8 /* newValue */
            lload 9 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        43: .line 2247
            aload 8 /* newValue */
            astore 16
        44: .line 2263
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        45: .line 2264
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        46: .line 2247
            aload 16
            areturn
        47: .line 2250
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.util.function.BiFunction com.google.common.cache.ReferenceEntry com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int java.lang.Object long java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
        48: .line 2251
            aload 1 /* key */
            iload 2 /* hash */
            aload 6 /* loadingValueReference */
            aload 8 /* newValue */
            invokestatic com.google.common.util.concurrent.Futures.immediateFuture:(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
        49: .line 2250
            invokevirtual com.google.common.cache.LocalCache$Segment.getAndRecordStats:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/util/concurrent/ListenableFuture;)Ljava/lang/Object;
            astore 16
        50: .line 2263
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        51: .line 2264
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        52: .line 2250
            aload 16
            areturn
        53: .line 2252
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
            pop
        54: .line 2253
            new java.lang.AssertionError
            dup
            ldc "impossible; Futures.immediateFuture can't throw"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        55: .line 2255
      StackMap locals:
      StackMap stack:
            iload 7 /* createNewEntry */
            ifeq 60
        56: .line 2256
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 6 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeLoadingValue:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;)Z
            pop
        57: .line 2263
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        58: .line 2264
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        59: .line 2257
            aconst_null
            areturn
        60: .line 2259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* e */
            iload 2 /* hash */
            getstatic com.google.common.cache.RemovalCause.EXPLICIT:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntry:(Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
            pop
        61: .line 2263
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        62: .line 2264
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        63: .line 2260
            aconst_null
            areturn
        end local 13 // com.google.common.cache.ReferenceEntry first
        end local 12 // int index
        end local 11 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 9 // long now
        end local 8 // java.lang.Object newValue
        end local 4 // com.google.common.cache.ReferenceEntry e
        64: .line 2262
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.util.function.BiFunction top com.google.common.cache.LocalCache$ValueReference com.google.common.cache.LocalCache$LoadingValueReference int
      StackMap stack: java.lang.Throwable
            astore 15
        65: .line 2263
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        66: .line 2264
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        67: .line 2265
            aload 15
            athrow
        end local 7 // boolean createNewEntry
        end local 6 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 5 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 3 // java.util.function.BiFunction function
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   68     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   68     1                    key  TK;
            0   68     2                   hash  I
            0   68     3               function  Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
           10   64     4                      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            1   68     5         valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            2   68     6  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            3   68     7         createNewEntry  Z
           39   64     8               newValue  TV;
            5   64     9                    now  J
            7   64    11                  table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            8   64    12                  index  I
            9   64    13                  first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           12   28    14               entryKey  TK;
      Exception table:
        from    to  target  type
          47    50      53  Class java.util.concurrent.ExecutionException
           4    44      64  any
          47    50      64  any
          53    57      64  any
          60    61      64  any
    Signature: (TK;ILjava/util/function/BiFunction<-TK;-TV;+TV;>;)TV;
    MethodParameters:
          Name  Flags
      key       
      hash      
      function  

  V loadSync(K, int, com.google.common.cache.LocalCache$LoadingValueReference<K, V>, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        start local 4 // com.google.common.cache.CacheLoader loader
         0: .line 2276
            aload 3 /* loadingValueReference */
            aload 1 /* key */
            aload 4 /* loader */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.loadFuture:(Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 5 /* loadingFuture */
        start local 5 // com.google.common.util.concurrent.ListenableFuture loadingFuture
         1: .line 2277
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loadingValueReference */
            aload 5 /* loadingFuture */
            invokevirtual com.google.common.cache.LocalCache$Segment.getAndRecordStats:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/util/concurrent/ListenableFuture;)Ljava/lang/Object;
            areturn
        end local 5 // com.google.common.util.concurrent.ListenableFuture loadingFuture
        end local 4 // com.google.common.cache.CacheLoader loader
        end local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    2     1                    key  TK;
            0    2     2                   hash  I
            0    2     3  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    2     4                 loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            1    2     5          loadingFuture  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: (TK;ILcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)TV;
    MethodParameters:
                       Name  Flags
      key                    
      hash                   
      loadingValueReference  
      loader                 

  com.google.common.util.concurrent.ListenableFuture<V> loadAsync(K, int, com.google.common.cache.LocalCache$LoadingValueReference<K, V>, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/cache/CacheLoader;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0000) 
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        start local 4 // com.google.common.cache.CacheLoader loader
         0: .line 2285
            aload 3 /* loadingValueReference */
            aload 1 /* key */
            aload 4 /* loader */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.loadFuture:(Ljava/lang/Object;Lcom/google/common/cache/CacheLoader;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 5 /* loadingFuture */
        start local 5 // com.google.common.util.concurrent.ListenableFuture loadingFuture
         1: .line 2286
            aload 5 /* loadingFuture */
         2: .line 2287
            new com.google.common.cache.LocalCache$Segment$1
            dup
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loadingValueReference */
            aload 5 /* loadingFuture */
            invokespecial com.google.common.cache.LocalCache$Segment$1.<init>:(Lcom/google/common/cache/LocalCache$Segment;Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/util/concurrent/ListenableFuture;)V
         3: .line 2298
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
         4: .line 2286
            invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         5: .line 2299
            aload 5 /* loadingFuture */
            areturn
        end local 5 // com.google.common.util.concurrent.ListenableFuture loadingFuture
        end local 4 // com.google.common.cache.CacheLoader loader
        end local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    6     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    6     1                    key  TK;
            0    6     2                   hash  I
            0    6     3  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0    6     4                 loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            1    6     5          loadingFuture  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    Signature: (TK;ILcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;Lcom/google/common/cache/CacheLoader<-TK;TV;>;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
    MethodParameters:
                       Name  Flags
      key                    final
      hash                   final
      loadingValueReference  final
      loader                 

  V getAndRecordStats(K, int, com.google.common.cache.LocalCache$LoadingValueReference<K, V>, com.google.common.util.concurrent.ListenableFuture<V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/util/concurrent/ListenableFuture;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        start local 4 // com.google.common.util.concurrent.ListenableFuture newValue
         0: .line 2309
            aconst_null
            astore 5 /* value */
        start local 5 // java.lang.Object value
         1: .line 2311
            aload 4 /* newValue */
            invokestatic com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            astore 5 /* value */
         2: .line 2312
            aload 5 /* value */
            ifnonnull 4
         3: .line 2313
            new com.google.common.cache.CacheLoader$InvalidCacheLoadException
            dup
            new java.lang.StringBuilder
            dup
            ldc "CacheLoader returned null for key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.google.common.cache.CacheLoader$InvalidCacheLoadException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2315
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            aload 3 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.elapsedNanos:()J
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadSuccess:(J)V
         5: .line 2316
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loadingValueReference */
            aload 5 /* value */
            invokevirtual com.google.common.cache.LocalCache$Segment.storeLoadedValue:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Ljava/lang/Object;)Z
            pop
         6: .line 2317
            aload 5 /* value */
            astore 7
         7: .line 2319
            aload 5 /* value */
            ifnonnull 10
         8: .line 2320
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            aload 3 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.elapsedNanos:()J
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
         9: .line 2321
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeLoadingValue:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;)Z
            pop
        10: .line 2317
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference com.google.common.util.concurrent.ListenableFuture java.lang.Object top java.lang.Object
      StackMap stack:
            aload 7
            areturn
        11: .line 2318
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference com.google.common.util.concurrent.ListenableFuture java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 6
        12: .line 2319
            aload 5 /* value */
            ifnonnull 15
        13: .line 2320
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            aload 3 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.elapsedNanos:()J
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordLoadException:(J)V
        14: .line 2321
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 3 /* loadingValueReference */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeLoadingValue:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;)Z
            pop
        15: .line 2323
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        end local 5 // java.lang.Object value
        end local 4 // com.google.common.util.concurrent.ListenableFuture newValue
        end local 3 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   16     1                    key  TK;
            0   16     2                   hash  I
            0   16     3  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0   16     4               newValue  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
            1   16     5                  value  TV;
      Exception table:
        from    to  target  type
           1     7      11  any
    Exceptions:
      throws java.util.concurrent.ExecutionException
    Signature: (TK;ILcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;Lcom/google/common/util/concurrent/ListenableFuture<TV;>;)TV;
    MethodParameters:
                       Name  Flags
      key                    
      hash                   
      loadingValueReference  
      newValue               

  V scheduleRefresh(com.google.common.cache.ReferenceEntry<K, V>, K, int, V, long, com.google.common.cache.CacheLoader<? super K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;JLcom/google/common/cache/CacheLoader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // java.lang.Object key
        start local 3 // int hash
        start local 4 // java.lang.Object oldValue
        start local 5 // long now
        start local 7 // com.google.common.cache.CacheLoader loader
         0: .line 2333
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.refreshes:()Z
            ifeq 6
         1: .line 2334
            lload 5 /* now */
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getWriteTime:()J
            lsub
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.refreshNanos:J
            lcmp
            ifle 6
         2: .line 2335
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifne 6
         3: .line 2336
            aload 0 /* this */
            aload 2 /* key */
            iload 3 /* hash */
            aload 7 /* loader */
            iconst_1
            invokevirtual com.google.common.cache.LocalCache$Segment.refresh:(Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;Z)Ljava/lang/Object;
            astore 8 /* newValue */
        start local 8 // java.lang.Object newValue
         4: .line 2337
            aload 8 /* newValue */
            ifnull 6
         5: .line 2338
            aload 8 /* newValue */
            areturn
        end local 8 // java.lang.Object newValue
         6: .line 2341
      StackMap locals:
      StackMap stack:
            aload 4 /* oldValue */
            areturn
        end local 7 // com.google.common.cache.CacheLoader loader
        end local 5 // long now
        end local 4 // java.lang.Object oldValue
        end local 3 // int hash
        end local 2 // java.lang.Object key
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    7     1     entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    7     2       key  TK;
            0    7     3      hash  I
            0    7     4  oldValue  TV;
            0    7     5       now  J
            0    7     7    loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            4    6     8  newValue  TV;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;TK;ITV;JLcom/google/common/cache/CacheLoader<-TK;TV;>;)TV;
    MethodParameters:
          Name  Flags
      entry     
      key       
      hash      
      oldValue  
      now       
      loader    

  V refresh(K, int, com.google.common.cache.CacheLoader<? super K, V>, );
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/CacheLoader;Z)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.CacheLoader loader
        start local 4 // boolean checkTime
         0: .line 2353
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            iload 4 /* checkTime */
            invokevirtual com.google.common.cache.LocalCache$Segment.insertLoadingValueReference:(Ljava/lang/Object;IZ)Lcom/google/common/cache/LocalCache$LoadingValueReference;
         1: .line 2352
            astore 5 /* loadingValueReference */
        start local 5 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
         2: .line 2354
            aload 5 /* loadingValueReference */
            ifnonnull 4
         3: .line 2355
            aconst_null
            areturn
         4: .line 2358
      StackMap locals: com.google.common.cache.LocalCache$LoadingValueReference
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 5 /* loadingValueReference */
            aload 3 /* loader */
            invokevirtual com.google.common.cache.LocalCache$Segment.loadAsync:(Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Lcom/google/common/cache/CacheLoader;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 6 /* result */
        start local 6 // com.google.common.util.concurrent.ListenableFuture result
         5: .line 2359
            aload 6 /* result */
            invokeinterface com.google.common.util.concurrent.ListenableFuture.isDone:()Z
            ifeq 9
         6: .line 2361
            aload 6 /* result */
            invokestatic com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
         7: areturn
         8: .line 2362
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.CacheLoader int com.google.common.cache.LocalCache$LoadingValueReference com.google.common.util.concurrent.ListenableFuture
      StackMap stack: java.lang.Throwable
            pop
         9: .line 2366
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // com.google.common.util.concurrent.ListenableFuture result
        end local 5 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 4 // boolean checkTime
        end local 3 // com.google.common.cache.CacheLoader loader
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   10     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   10     1                    key  TK;
            0   10     2                   hash  I
            0   10     3                 loader  Lcom/google/common/cache/CacheLoader<-TK;TV;>;
            0   10     4              checkTime  Z
            2   10     5  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            5   10     6                 result  Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Throwable
    Signature: (TK;ILcom/google/common/cache/CacheLoader<-TK;TV;>;Z)TV;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
           Name  Flags
      key        
      hash       
      loader     
      checkTime  

  com.google.common.cache.LocalCache$LoadingValueReference<K, V> insertLoadingValueReference(K, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)Lcom/google/common/cache/LocalCache$LoadingValueReference;
    flags: (0x0000) 
    Code:
      stack=4, locals=15, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // boolean checkTime
         0: .line 2376
            aconst_null
            astore 4 /* e */
        start local 4 // com.google.common.cache.ReferenceEntry e
         1: .line 2377
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         2: .line 2379
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         3: .line 2380
            aload 0 /* this */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         4: .line 2382
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 7 /* table */
        start local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
         5: .line 2383
            iload 2 /* hash */
            aload 7 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 8 /* index */
        start local 8 // int index
         6: .line 2384
            aload 7 /* table */
            iload 8 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 9 /* first */
        start local 9 // com.google.common.cache.ReferenceEntry first
         7: .line 2387
            aload 9 /* first */
            astore 4 /* e */
            goto 27
         8: .line 2388
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int int com.google.common.cache.ReferenceEntry long java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 10 /* entryKey */
        start local 10 // java.lang.Object entryKey
         9: .line 2389
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 26
        10: .line 2390
            aload 10 /* entryKey */
            ifnull 26
        11: .line 2391
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 10 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 26
        12: .line 2394
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 11 /* valueReference */
        start local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        13: .line 2395
            aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifne 15
        14: .line 2396
            iload 3 /* checkTime */
            ifeq 18
            lload 5 /* now */
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getWriteTime:()J
            lsub
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.refreshNanos:J
            lcmp
            ifge 18
        15: .line 2419
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        16: .line 2420
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        17: .line 2400
            aconst_null
            areturn
        18: .line 2404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        19: .line 2406
            new com.google.common.cache.LocalCache$LoadingValueReference
            dup
            aload 11 /* valueReference */
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference.<init>:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        20: .line 2405
            astore 12 /* loadingValueReference */
        start local 12 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        21: .line 2407
            aload 4 /* e */
            aload 12 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        22: .line 2408
            aload 12 /* loadingValueReference */
            astore 14
        23: .line 2419
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        24: .line 2420
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        25: .line 2408
            aload 14
            areturn
        end local 12 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 10 // java.lang.Object entryKey
        26: .line 2387
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
      StackMap locals:
      StackMap stack:
        27: aload 4 /* e */
            ifnonnull 8
        28: .line 2412
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        29: .line 2413
            new com.google.common.cache.LocalCache$LoadingValueReference
            dup
            invokespecial com.google.common.cache.LocalCache$LoadingValueReference.<init>:()V
            astore 10 /* loadingValueReference */
        start local 10 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        30: .line 2414
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 9 /* first */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* e */
        31: .line 2415
            aload 4 /* e */
            aload 10 /* loadingValueReference */
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        32: .line 2416
            aload 7 /* table */
            iload 8 /* index */
            aload 4 /* e */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        33: .line 2417
            aload 10 /* loadingValueReference */
            astore 14
        34: .line 2419
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        35: .line 2420
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        36: .line 2417
            aload 14
            areturn
        end local 10 // com.google.common.cache.LocalCache$LoadingValueReference loadingValueReference
        end local 9 // com.google.common.cache.ReferenceEntry first
        end local 8 // int index
        end local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 5 // long now
        37: .line 2418
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int int com.google.common.cache.ReferenceEntry
      StackMap stack: java.lang.Throwable
            astore 13
        38: .line 2419
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        39: .line 2420
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        40: .line 2421
            aload 13
            athrow
        end local 4 // com.google.common.cache.ReferenceEntry e
        end local 3 // boolean checkTime
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   41     0                   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   41     1                    key  TK;
            0   41     2                   hash  I
            0   41     3              checkTime  Z
            1   41     4                      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            3   37     5                    now  J
            5   37     7                  table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            6   37     8                  index  I
            7   37     9                  first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            9   26    10               entryKey  TK;
           13   26    11         valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           21   26    12  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
           30   37    10  loadingValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
      Exception table:
        from    to  target  type
           2    15      37  any
          18    23      37  any
          26    34      37  any
    Signature: (TK;IZ)Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
           Name  Flags
      key        final
      hash       final
      checkTime  

  void tryDrainReferenceQueues();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2428
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryLock:()Z
            ifeq 7
         1: .line 2430
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainReferenceQueues:()V
         2: .line 2431
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 2432
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         5: .line 2433
            aload 1
            athrow
         6: .line 2432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         7: .line 2435
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
      Exception table:
        from    to  target  type
           1     3       3  any

  void drainReferenceQueues();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2443
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.usesKeyReferences:()Z
            ifeq 2
         1: .line 2444
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainKeyReferenceQueue:()V
         2: .line 2446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.usesValueReferences:()Z
            ifeq 4
         3: .line 2447
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainValueReferenceQueue:()V
         4: .line 2449
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  void drainKeyReferenceQueue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2454
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 2455
            goto 6
        start local 1 // java.lang.ref.Reference ref
         2: .line 2457
      StackMap locals: java.lang.ref.Reference int
      StackMap stack:
            aload 1 /* ref */
            checkcast com.google.common.cache.ReferenceEntry
            astore 3 /* entry */
        start local 3 // com.google.common.cache.ReferenceEntry entry
         3: .line 2458
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 3 /* entry */
            invokevirtual com.google.common.cache.LocalCache.reclaimKey:(Lcom/google/common/cache/ReferenceEntry;)V
         4: .line 2459
            iinc 2 /* i */ 1
            iload 2 /* i */
            bipush 16
            if_icmpne 6
         5: .line 2460
            goto 8
        end local 3 // com.google.common.cache.ReferenceEntry entry
        end local 1 // java.lang.ref.Reference ref
         6: .line 2455
      StackMap locals: com.google.common.cache.LocalCache$Segment top int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.keyReferenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            dup
            astore 1 /* ref */
        start local 1 // java.lang.ref.Reference ref
         7: ifnonnull 2
         8: .line 2463
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.ref.Reference int
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // java.lang.ref.Reference ref
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            2    6     1    ref  Ljava/lang/ref/Reference<+TK;>;
            7    9     1    ref  Ljava/lang/ref/Reference<+TK;>;
            1    9     2      i  I
            3    6     3  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  void drainValueReferenceQueue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2468
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 2469
            goto 6
        start local 1 // java.lang.ref.Reference ref
         2: .line 2471
      StackMap locals: java.lang.ref.Reference int
      StackMap stack:
            aload 1 /* ref */
            checkcast com.google.common.cache.LocalCache$ValueReference
            astore 3 /* valueReference */
        start local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
         3: .line 2472
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 3 /* valueReference */
            invokevirtual com.google.common.cache.LocalCache.reclaimValue:(Lcom/google/common/cache/LocalCache$ValueReference;)V
         4: .line 2473
            iinc 2 /* i */ 1
            iload 2 /* i */
            bipush 16
            if_icmpne 6
         5: .line 2474
            goto 8
        end local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 1 // java.lang.ref.Reference ref
         6: .line 2469
      StackMap locals: com.google.common.cache.LocalCache$Segment top int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.valueReferenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            dup
            astore 1 /* ref */
        start local 1 // java.lang.ref.Reference ref
         7: ifnonnull 2
         8: .line 2477
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.ref.Reference int
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // java.lang.ref.Reference ref
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            2    6     1             ref  Ljava/lang/ref/Reference<+TV;>;
            7    9     1             ref  Ljava/lang/ref/Reference<+TV;>;
            1    9     2               i  I
            3    6     3  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  void clearReferenceQueues();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2481
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.usesKeyReferences:()Z
            ifeq 2
         1: .line 2482
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.clearKeyReferenceQueue:()V
         2: .line 2484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.usesValueReferences:()Z
            ifeq 4
         3: .line 2485
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.clearValueReferenceQueue:()V
         4: .line 2487
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;

  void clearKeyReferenceQueue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.keyReferenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            ifnonnull 0
         1: .line 2491
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;

  void clearValueReferenceQueue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.valueReferenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            ifnonnull 0
         1: .line 2495
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;

  void recordRead(com.google.common.cache.ReferenceEntry<K, V>, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // long now
         0: .line 2507
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.recordsAccess:()Z
            ifeq 2
         1: .line 2508
            aload 1 /* entry */
            lload 2 /* now */
            invokeinterface com.google.common.cache.ReferenceEntry.setAccessTime:(J)V
         2: .line 2510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.recencyQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         3: .line 2511
            return
        end local 2 // long now
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    4     1  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    4     2    now  J
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)V
    MethodParameters:
       Name  Flags
      entry  
      now    

  void recordLockedRead(com.google.common.cache.ReferenceEntry<K, V>, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // long now
         0: .line 2522
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.recordsAccess:()Z
            ifeq 2
         1: .line 2523
            aload 1 /* entry */
            lload 2 /* now */
            invokeinterface com.google.common.cache.ReferenceEntry.setAccessTime:(J)V
         2: .line 2525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         3: .line 2526
            return
        end local 2 // long now
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    4     1  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    4     2    now  J
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
       Name  Flags
      entry  
      now    

  void recordWrite(com.google.common.cache.ReferenceEntry<K, V>, int, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;IJ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // int weight
        start local 3 // long now
         0: .line 2535
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainRecencyQueue:()V
         1: .line 2536
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.totalWeight:J
            iload 2 /* weight */
            i2l
            ladd
            putfield com.google.common.cache.LocalCache$Segment.totalWeight:J
         2: .line 2538
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.recordsAccess:()Z
            ifeq 4
         3: .line 2539
            aload 1 /* entry */
            lload 3 /* now */
            invokeinterface com.google.common.cache.ReferenceEntry.setAccessTime:(J)V
         4: .line 2541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.recordsWrite:()Z
            ifeq 6
         5: .line 2542
            aload 1 /* entry */
            lload 3 /* now */
            invokeinterface com.google.common.cache.ReferenceEntry.setWriteTime:(J)V
         6: .line 2544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         7: .line 2545
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         8: .line 2546
            return
        end local 3 // long now
        end local 2 // int weight
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    9     1   entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    9     2  weight  I
            0    9     3     now  J
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;IJ)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
        Name  Flags
      entry   
      weight  
      now     

  void drainRecencyQueue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2557
            goto 3
        start local 1 // com.google.common.cache.ReferenceEntry e
         1: .line 2562
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 1 /* e */
            invokeinterface java.util.Queue.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 2563
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 1 /* e */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // com.google.common.cache.ReferenceEntry e
         3: .line 2557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.recencyQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            dup
            astore 1 /* e */
        start local 1 // com.google.common.cache.ReferenceEntry e
         4: ifnonnull 1
         5: .line 2566
            return
        end local 1 // com.google.common.cache.ReferenceEntry e
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            1    3     1     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            4    6     1     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  void tryExpireEntries(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // long now
         0: .line 2572
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryLock:()Z
            ifeq 7
         1: .line 2574
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.expireEntries:(J)V
         2: .line 2575
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3
         4: .line 2576
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         5: .line 2578
            aload 3
            athrow
         6: .line 2576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         7: .line 2580
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long now
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    8     1   now  J
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
      Name  Flags
      now   

  void expireEntries(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // long now
         0: .line 2584
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainRecencyQueue:()V
         1: .line 2587
            goto 4
        start local 3 // com.google.common.cache.ReferenceEntry e
         2: .line 2588
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 3 /* e */
            aload 3 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            getstatic com.google.common.cache.RemovalCause.EXPIRED:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntry:(Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
            ifne 4
         3: .line 2589
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // com.google.common.cache.ReferenceEntry e
         4: .line 2587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            dup
            astore 3 /* e */
        start local 3 // com.google.common.cache.ReferenceEntry e
         5: ifnull 9
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 3 /* e */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifne 2
         6: .line 2592
            goto 9
         7: .line 2593
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 3 /* e */
            aload 3 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            getstatic com.google.common.cache.RemovalCause.EXPIRED:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntry:(Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
            ifne 9
         8: .line 2594
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 2592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            dup
            astore 3 /* e */
            ifnull 10
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 3 /* e */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifne 7
        10: .line 2597
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.google.common.cache.ReferenceEntry e
        end local 1 // long now
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   11     1   now  J
            2    4     3     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            5   11     3     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
      Name  Flags
      now   

  void enqueueNotification(K, int, V, int, com.google.common.cache.RemovalCause);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.lang.Object value
        start local 4 // int weight
        start local 5 // com.google.common.cache.RemovalCause cause
         0: .line 2604
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.totalWeight:J
            iload 4 /* weight */
            i2l
            lsub
            putfield com.google.common.cache.LocalCache$Segment.totalWeight:J
         1: .line 2605
            aload 5 /* cause */
            invokevirtual com.google.common.cache.RemovalCause.wasEvicted:()Z
            ifeq 3
         2: .line 2606
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.statsCounter:Lcom/google/common/cache/AbstractCache$StatsCounter;
            invokeinterface com.google.common.cache.AbstractCache$StatsCounter.recordEviction:()V
         3: .line 2608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.removalNotificationQueue:Ljava/util/Queue;
            getstatic com.google.common.cache.LocalCache.DISCARDING_QUEUE:Ljava/util/Queue;
            if_acmpeq 6
         4: .line 2609
            aload 1 /* key */
            aload 3 /* value */
            aload 5 /* cause */
            invokestatic com.google.common.cache.RemovalNotification.create:(Ljava/lang/Object;Ljava/lang/Object;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/RemovalNotification;
            astore 6 /* notification */
        start local 6 // com.google.common.cache.RemovalNotification notification
         5: .line 2610
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.removalNotificationQueue:Ljava/util/Queue;
            aload 6 /* notification */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.google.common.cache.RemovalNotification notification
         6: .line 2612
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.google.common.cache.RemovalCause cause
        end local 4 // int weight
        end local 3 // java.lang.Object value
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    7     1           key  TK;
            0    7     2          hash  I
            0    7     3         value  TV;
            0    7     4        weight  I
            0    7     5         cause  Lcom/google/common/cache/RemovalCause;
            5    6     6  notification  Lcom/google/common/cache/RemovalNotification<TK;TV;>;
    Signature: (TK;ITV;ILcom/google/common/cache/RemovalCause;)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      key     
      hash    
      value   
      weight  
      cause   

  void evictEntries(com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry newest
         0: .line 2622
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.evictsBySize:()Z
            ifne 2
         1: .line 2623
            return
         2: .line 2626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainRecencyQueue:()V
         3: .line 2630
            aload 1 /* newest */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            i2l
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.maxSegmentWeight:J
            lcmp
            ifle 9
         4: .line 2631
            aload 0 /* this */
            aload 1 /* newest */
            aload 1 /* newest */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            getstatic com.google.common.cache.RemovalCause.SIZE:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntry:(Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
            ifne 9
         5: .line 2632
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 2637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.getNextEvictable:()Lcom/google/common/cache/ReferenceEntry;
            astore 2 /* e */
        start local 2 // com.google.common.cache.ReferenceEntry e
         7: .line 2638
            aload 0 /* this */
            aload 2 /* e */
            aload 2 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            getstatic com.google.common.cache.RemovalCause.SIZE:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntry:(Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
            ifne 9
         8: .line 2639
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // com.google.common.cache.ReferenceEntry e
         9: .line 2636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.totalWeight:J
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.maxSegmentWeight:J
            lcmp
            ifgt 6
        10: .line 2642
            return
        end local 1 // com.google.common.cache.ReferenceEntry newest
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   11     1  newest  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            7    9     2       e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
        Name  Flags
      newest  

  com.google.common.cache.ReferenceEntry<K, V> getNextEvictable();
    descriptor: ()Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2647
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: com.google.common.cache.LocalCache$Segment top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 1 /* e */
        start local 1 // com.google.common.cache.ReferenceEntry e
         2: .line 2648
            aload 1 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            istore 3 /* weight */
        start local 3 // int weight
         3: .line 2649
            iload 3 /* weight */
            ifle 5
         4: .line 2650
            aload 1 /* e */
            areturn
        end local 3 // int weight
        end local 1 // com.google.common.cache.ReferenceEntry e
         5: .line 2647
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 2653
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            2    5     1       e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            3    5     3  weight  I
    Signature: ()Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  com.google.common.cache.ReferenceEntry<K, V> getFirst(int);
    descriptor: (I)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // int hash
         0: .line 2659
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 2 /* table */
        start local 2 // java.util.concurrent.atomic.AtomicReferenceArray table
         1: .line 2660
            aload 2 /* table */
            iload 1 /* hash */
            aload 2 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            areturn
        end local 2 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 1 // int hash
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    2     1   hash  I
            1    2     2  table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
    Signature: (I)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    MethodParameters:
      Name  Flags
      hash  

  com.google.common.cache.ReferenceEntry<K, V> getEntry(, int);
    descriptor: (Ljava/lang/Object;I)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
         0: .line 2667
            aload 0 /* this */
            iload 2 /* hash */
            invokevirtual com.google.common.cache.LocalCache$Segment.getFirst:(I)Lcom/google/common/cache/ReferenceEntry;
            astore 3 /* e */
        start local 3 // com.google.common.cache.ReferenceEntry e
         1: goto 11
         2: .line 2668
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 3 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpeq 4
         3: .line 2669
            goto 10
         4: .line 2672
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 4 /* entryKey */
        start local 4 // java.lang.Object entryKey
         5: .line 2673
            aload 4 /* entryKey */
            ifnonnull 8
         6: .line 2674
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryDrainReferenceQueues:()V
         7: .line 2675
            goto 10
         8: .line 2678
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 4 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         9: .line 2679
            aload 3 /* e */
            areturn
        end local 4 // java.lang.Object entryKey
        10: .line 2667
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 3 /* e */
      StackMap locals:
      StackMap stack:
        11: aload 3 /* e */
            ifnonnull 2
        end local 3 // com.google.common.cache.ReferenceEntry e
        12: .line 2683
            aconst_null
            areturn
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   13     1       key  Ljava/lang/Object;
            0   13     2      hash  I
            1   12     3         e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            5   10     4  entryKey  TK;
    Signature: (Ljava/lang/Object;I)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   
      hash  

  com.google.common.cache.ReferenceEntry<K, V> getLiveEntry(, int, long);
    descriptor: (Ljava/lang/Object;IJ)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // long now
         0: .line 2688
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            invokevirtual com.google.common.cache.LocalCache$Segment.getEntry:(Ljava/lang/Object;I)Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* e */
        start local 5 // com.google.common.cache.ReferenceEntry e
         1: .line 2689
            aload 5 /* e */
            ifnonnull 3
         2: .line 2690
            aconst_null
            areturn
         3: .line 2691
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 5 /* e */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifeq 6
         4: .line 2692
            aload 0 /* this */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryExpireEntries:(J)V
         5: .line 2693
            aconst_null
            areturn
         6: .line 2695
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            areturn
        end local 5 // com.google.common.cache.ReferenceEntry e
        end local 3 // long now
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    7     1   key  Ljava/lang/Object;
            0    7     2  hash  I
            0    7     3   now  J
            1    7     5     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Ljava/lang/Object;IJ)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   
      hash  
      now   

  V getLiveValue(com.google.common.cache.ReferenceEntry<K, V>, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // long now
         0: .line 2703
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            ifnonnull 3
         1: .line 2704
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryDrainReferenceQueues:()V
         2: .line 2705
            aconst_null
            areturn
         3: .line 2707
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         4: .line 2708
            aload 4 /* value */
            ifnonnull 7
         5: .line 2709
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryDrainReferenceQueues:()V
         6: .line 2710
            aconst_null
            areturn
         7: .line 2713
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            aload 1 /* entry */
            lload 2 /* now */
            invokevirtual com.google.common.cache.LocalCache.isExpired:(Lcom/google/common/cache/ReferenceEntry;J)Z
            ifeq 10
         8: .line 2714
            aload 0 /* this */
            lload 2 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryExpireEntries:(J)V
         9: .line 2715
            aconst_null
            areturn
        10: .line 2717
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            areturn
        end local 4 // java.lang.Object value
        end local 2 // long now
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   11     1  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   11     2    now  J
            4   11     4  value  TV;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;J)TV;
    MethodParameters:
       Name  Flags
      entry  
      now    

  boolean containsKey(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
         0: .line 2722
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            ifeq 11
         1: .line 2723
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 3 /* now */
        start local 3 // long now
         2: .line 2724
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.getLiveEntry:(Ljava/lang/Object;IJ)Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* e */
        start local 5 // com.google.common.cache.ReferenceEntry e
         3: .line 2725
            aload 5 /* e */
            ifnonnull 6
         4: .line 2733
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
         5: .line 2726
            iconst_0
            ireturn
         6: .line 2728
      StackMap locals: long com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            ifnull 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7
         9: .line 2733
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        10: .line 2728
            iload 7
            ireturn
        end local 5 // com.google.common.cache.ReferenceEntry e
        end local 3 // long now
        11: .line 2733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        12: .line 2731
            iconst_0
            ireturn
        13: .line 2732
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        14: .line 2733
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        15: .line 2734
            aload 6
            athrow
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   16     1   key  Ljava/lang/Object;
            0   16     2  hash  I
            2   11     3   now  J
            3   11     5     e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           0     4      13  any
           6     9      13  any
    MethodParameters:
      Name  Flags
      key   
      hash  

  boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object value
         0: .line 2744
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            ifeq 18
         1: .line 2745
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 2 /* now */
        start local 2 // long now
         2: .line 2746
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 4 /* table */
        start local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
         3: .line 2747
            aload 4 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            istore 5 /* length */
        start local 5 // int length
         4: .line 2748
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 2749
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object long java.util.concurrent.atomic.AtomicReferenceArray int int
      StackMap stack:
            aload 4 /* table */
            iload 6 /* i */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 7 /* e */
        start local 7 // com.google.common.cache.ReferenceEntry e
         7: goto 15
         8: .line 2750
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 7 /* e */
            lload 2 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.getLiveValue:(Lcom/google/common/cache/ReferenceEntry;J)Ljava/lang/Object;
            astore 8 /* entryValue */
        start local 8 // java.lang.Object entryValue
         9: .line 2751
            aload 8 /* entryValue */
            ifnonnull 11
        10: .line 2752
            goto 14
        11: .line 2754
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.valueEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* value */
            aload 8 /* entryValue */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 14
        12: .line 2763
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        13: .line 2755
            iconst_1
            ireturn
        end local 8 // java.lang.Object entryValue
        14: .line 2749
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 7 /* e */
      StackMap locals:
      StackMap stack:
        15: aload 7 /* e */
            ifnonnull 8
        end local 7 // com.google.common.cache.ReferenceEntry e
        16: .line 2748
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 5 /* length */
            if_icmplt 6
        end local 6 // int i
        end local 5 // int length
        end local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 2 // long now
        18: .line 2763
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        19: .line 2761
            iconst_0
            ireturn
        20: .line 2762
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        21: .line 2763
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postReadCleanup:()V
        22: .line 2764
            aload 9
            athrow
        end local 1 // java.lang.Object value
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   23     1       value  Ljava/lang/Object;
            2   18     2         now  J
            3   18     4       table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            4   18     5      length  I
            5   18     6           i  I
            7   16     7           e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            9   14     8  entryValue  TV;
      Exception table:
        from    to  target  type
           0    12      20  any
          14    18      20  any
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
       Name  Flags
      value  

  V put(K, int, V, );
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.lang.Object value
        start local 4 // boolean onlyIfAbsent
         0: .line 2769
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 2771
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         2: .line 2772
            aload 0 /* this */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 2774
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
        start local 7 // int newCount
         4: .line 2775
            iload 7 /* newCount */
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.threshold:I
            if_icmple 7
         5: .line 2776
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.expand:()V
         6: .line 2777
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
         7: .line 2780
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 8 /* table */
        start local 8 // java.util.concurrent.atomic.AtomicReferenceArray table
         8: .line 2781
            iload 2 /* hash */
            aload 8 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 9 /* index */
        start local 9 // int index
         9: .line 2782
            aload 8 /* table */
            iload 9 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 10 /* first */
        start local 10 // com.google.common.cache.ReferenceEntry first
        10: .line 2785
            aload 10 /* first */
            astore 11 /* e */
        start local 11 // com.google.common.cache.ReferenceEntry e
        11: goto 51
        12: .line 2786
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object int long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 12 /* entryKey */
        start local 12 // java.lang.Object entryKey
        13: .line 2787
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 50
        14: .line 2788
            aload 12 /* entryKey */
            ifnull 50
        15: .line 2789
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 12 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 50
        16: .line 2792
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 13 /* valueReference */
        start local 13 // com.google.common.cache.LocalCache$ValueReference valueReference
        17: .line 2793
            aload 13 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 14 /* entryValue */
        start local 14 // java.lang.Object entryValue
        18: .line 2795
            aload 14 /* entryValue */
            ifnonnull 34
        19: .line 2796
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        20: .line 2797
            aload 13 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 27
        21: .line 2798
            aload 0 /* this */
        22: .line 2799
            aload 1 /* key */
            iload 2 /* hash */
            aload 14 /* entryValue */
            aload 13 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        23: .line 2798
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        24: .line 2800
            aload 0 /* this */
            aload 11 /* e */
            aload 1 /* key */
            aload 3 /* value */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        25: .line 2801
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            istore 7 /* newCount */
        26: .line 2802
            goto 29
        27: .line 2803
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 11 /* e */
            aload 1 /* key */
            aload 3 /* value */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        28: .line 2804
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
        29: .line 2806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        30: .line 2807
            aload 0 /* this */
            aload 11 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        31: .line 2837
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 2838
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        33: .line 2808
            aconst_null
            areturn
        34: .line 2809
      StackMap locals:
      StackMap stack:
            iload 4 /* onlyIfAbsent */
            ifeq 40
        35: .line 2813
            aload 0 /* this */
            aload 11 /* e */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordLockedRead:(Lcom/google/common/cache/ReferenceEntry;J)V
        36: .line 2814
            aload 14 /* entryValue */
            astore 16
        37: .line 2837
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        38: .line 2838
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        39: .line 2814
            aload 16
            areturn
        40: .line 2817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        41: .line 2818
            aload 0 /* this */
        42: .line 2819
            aload 1 /* key */
            iload 2 /* hash */
            aload 14 /* entryValue */
            aload 13 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.REPLACED:Lcom/google/common/cache/RemovalCause;
        43: .line 2818
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        44: .line 2820
            aload 0 /* this */
            aload 11 /* e */
            aload 1 /* key */
            aload 3 /* value */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        45: .line 2821
            aload 0 /* this */
            aload 11 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        46: .line 2822
            aload 14 /* entryValue */
            astore 16
        47: .line 2837
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        48: .line 2838
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        49: .line 2822
            aload 16
            areturn
        end local 14 // java.lang.Object entryValue
        end local 13 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 12 // java.lang.Object entryKey
        50: .line 2785
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 11 /* e */
      StackMap locals:
      StackMap stack:
        51: aload 11 /* e */
            ifnonnull 12
        end local 11 // com.google.common.cache.ReferenceEntry e
        52: .line 2828
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        53: .line 2829
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 10 /* first */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 11 /* newEntry */
        start local 11 // com.google.common.cache.ReferenceEntry newEntry
        54: .line 2830
            aload 0 /* this */
            aload 11 /* newEntry */
            aload 1 /* key */
            aload 3 /* value */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        55: .line 2831
            aload 8 /* table */
            iload 9 /* index */
            aload 11 /* newEntry */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        56: .line 2832
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
        57: .line 2833
            aload 0 /* this */
            iload 7 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        58: .line 2834
            aload 0 /* this */
            aload 11 /* newEntry */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        59: .line 2837
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        60: .line 2838
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        61: .line 2835
            aconst_null
            areturn
        end local 11 // com.google.common.cache.ReferenceEntry newEntry
        end local 10 // com.google.common.cache.ReferenceEntry first
        end local 9 // int index
        end local 8 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 7 // int newCount
        end local 5 // long now
        62: .line 2836
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object int
      StackMap stack: java.lang.Throwable
            astore 15
        63: .line 2837
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        64: .line 2838
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        65: .line 2839
            aload 15
            athrow
        end local 4 // boolean onlyIfAbsent
        end local 3 // java.lang.Object value
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   66     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   66     1             key  TK;
            0   66     2            hash  I
            0   66     3           value  TV;
            0   66     4    onlyIfAbsent  Z
            2   62     5             now  J
            4   62     7        newCount  I
            8   62     8           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            9   62     9           index  I
           10   62    10           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           11   52    11               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           13   50    12        entryKey  TK;
           17   50    13  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           18   50    14      entryValue  TV;
           54   62    11        newEntry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    31      62  any
          34    37      62  any
          40    47      62  any
          50    59      62  any
    Signature: (TK;ITV;Z)TV;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
              Name  Flags
      key           
      hash          
      value         
      onlyIfAbsent  

  void expand();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=16, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 2845
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 1 /* oldTable */
        start local 1 // java.util.concurrent.atomic.AtomicReferenceArray oldTable
         1: .line 2846
            aload 1 /* oldTable */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            istore 2 /* oldCapacity */
        start local 2 // int oldCapacity
         2: .line 2847
            iload 2 /* oldCapacity */
            ldc 1073741824
            if_icmplt 4
         3: .line 2848
            return
         4: .line 2861
      StackMap locals: java.util.concurrent.atomic.AtomicReferenceArray int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            istore 3 /* newCount */
        start local 3 // int newCount
         5: .line 2862
            aload 0 /* this */
            iload 2 /* oldCapacity */
            iconst_1
            ishl
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntryArray:(I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 4 /* newTable */
        start local 4 // java.util.concurrent.atomic.AtomicReferenceArray newTable
         6: .line 2863
            aload 0 /* this */
            aload 4 /* newTable */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_3
            imul
            iconst_4
            idiv
            putfield com.google.common.cache.LocalCache$Segment.threshold:I
         7: .line 2864
            aload 4 /* newTable */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            istore 5 /* newMask */
        start local 5 // int newMask
         8: .line 2865
            iconst_0
            istore 6 /* oldIndex */
        start local 6 // int oldIndex
         9: goto 41
        10: .line 2868
      StackMap locals: com.google.common.cache.LocalCache$Segment java.util.concurrent.atomic.AtomicReferenceArray int int java.util.concurrent.atomic.AtomicReferenceArray int int
      StackMap stack:
            aload 1 /* oldTable */
            iload 6 /* oldIndex */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 7 /* head */
        start local 7 // com.google.common.cache.ReferenceEntry head
        11: .line 2870
            aload 7 /* head */
            ifnull 40
        12: .line 2871
            aload 7 /* head */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 8 /* next */
        start local 8 // com.google.common.cache.ReferenceEntry next
        13: .line 2872
            aload 7 /* head */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 5 /* newMask */
            iand
            istore 9 /* headIndex */
        start local 9 // int headIndex
        14: .line 2875
            aload 8 /* next */
            ifnonnull 17
        15: .line 2876
            aload 4 /* newTable */
            iload 9 /* headIndex */
            aload 7 /* head */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        16: .line 2877
            goto 40
        17: .line 2881
      StackMap locals: com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry int
      StackMap stack:
            aload 7 /* head */
            astore 10 /* tail */
        start local 10 // com.google.common.cache.ReferenceEntry tail
        18: .line 2882
            iload 9 /* headIndex */
            istore 11 /* tailIndex */
        start local 11 // int tailIndex
        19: .line 2883
            aload 8 /* next */
            astore 12 /* e */
        start local 12 // com.google.common.cache.ReferenceEntry e
        20: goto 26
        21: .line 2884
      StackMap locals: com.google.common.cache.ReferenceEntry int com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 12 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 5 /* newMask */
            iand
            istore 13 /* newIndex */
        start local 13 // int newIndex
        22: .line 2885
            iload 13 /* newIndex */
            iload 11 /* tailIndex */
            if_icmpeq 25
        23: .line 2887
            iload 13 /* newIndex */
            istore 11 /* tailIndex */
        24: .line 2888
            aload 12 /* e */
            astore 10 /* tail */
        end local 13 // int newIndex
        25: .line 2883
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 12 /* e */
      StackMap locals:
      StackMap stack:
        26: aload 12 /* e */
            ifnonnull 21
        end local 12 // com.google.common.cache.ReferenceEntry e
        27: .line 2891
            aload 4 /* newTable */
            iload 11 /* tailIndex */
            aload 10 /* tail */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        28: .line 2894
            aload 7 /* head */
            astore 12 /* e */
        start local 12 // com.google.common.cache.ReferenceEntry e
        29: goto 39
        30: .line 2895
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 5 /* newMask */
            iand
            istore 13 /* newIndex */
        start local 13 // int newIndex
        31: .line 2896
            aload 4 /* newTable */
            iload 13 /* newIndex */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 14 /* newNext */
        start local 14 // com.google.common.cache.ReferenceEntry newNext
        32: .line 2897
            aload 0 /* this */
            aload 12 /* e */
            aload 14 /* newNext */
            invokevirtual com.google.common.cache.LocalCache$Segment.copyEntry:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 15 /* newFirst */
        start local 15 // com.google.common.cache.ReferenceEntry newFirst
        33: .line 2898
            aload 15 /* newFirst */
            ifnull 36
        34: .line 2899
            aload 4 /* newTable */
            iload 13 /* newIndex */
            aload 15 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        35: .line 2900
            goto 38
        36: .line 2901
      StackMap locals: int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 12 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeCollectedEntry:(Lcom/google/common/cache/ReferenceEntry;)V
        37: .line 2902
            iinc 3 /* newCount */ -1
        end local 15 // com.google.common.cache.ReferenceEntry newFirst
        end local 14 // com.google.common.cache.ReferenceEntry newNext
        end local 13 // int newIndex
        38: .line 2894
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 12 /* e */
      StackMap locals:
      StackMap stack:
        39: aload 12 /* e */
            aload 10 /* tail */
            if_acmpne 30
        end local 12 // com.google.common.cache.ReferenceEntry e
        end local 11 // int tailIndex
        end local 10 // com.google.common.cache.ReferenceEntry tail
        end local 9 // int headIndex
        end local 8 // com.google.common.cache.ReferenceEntry next
        end local 7 // com.google.common.cache.ReferenceEntry head
        40: .line 2865
      StackMap locals: com.google.common.cache.LocalCache$Segment java.util.concurrent.atomic.AtomicReferenceArray int int java.util.concurrent.atomic.AtomicReferenceArray int int
      StackMap stack:
            iinc 6 /* oldIndex */ 1
      StackMap locals:
      StackMap stack:
        41: iload 6 /* oldIndex */
            iload 2 /* oldCapacity */
            if_icmplt 10
        end local 6 // int oldIndex
        42: .line 2908
            aload 0 /* this */
            aload 4 /* newTable */
            putfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
        43: .line 2909
            aload 0 /* this */
            iload 3 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        44: .line 2910
            return
        end local 5 // int newMask
        end local 4 // java.util.concurrent.atomic.AtomicReferenceArray newTable
        end local 3 // int newCount
        end local 2 // int oldCapacity
        end local 1 // java.util.concurrent.atomic.AtomicReferenceArray oldTable
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   45     0         this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            1   45     1     oldTable  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            2   45     2  oldCapacity  I
            5   45     3     newCount  I
            6   45     4     newTable  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            8   45     5      newMask  I
            9   42     6     oldIndex  I
           11   40     7         head  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           13   40     8         next  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           14   40     9    headIndex  I
           18   40    10         tail  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           19   40    11    tailIndex  I
           20   27    12            e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           22   25    13     newIndex  I
           29   40    12            e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           31   38    13     newIndex  I
           32   38    14      newNext  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           33   38    15     newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")

  boolean replace(K, int, V, );
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0000) 
    Code:
      stack=8, locals=17, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.lang.Object oldValue
        start local 4 // java.lang.Object newValue
         0: .line 2913
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 2915
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         2: .line 2916
            aload 0 /* this */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 2918
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 7 /* table */
        start local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
         4: .line 2919
            iload 2 /* hash */
            aload 7 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 8 /* index */
        start local 8 // int index
         5: .line 2920
            aload 7 /* table */
            iload 8 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 9 /* first */
        start local 9 // com.google.common.cache.ReferenceEntry first
         6: .line 2922
            aload 9 /* first */
            astore 10 /* e */
        start local 10 // com.google.common.cache.ReferenceEntry e
         7: goto 49
         8: .line 2923
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object java.lang.Object long java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 11 /* entryKey */
        start local 11 // java.lang.Object entryKey
         9: .line 2924
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 48
        10: .line 2925
            aload 11 /* entryKey */
            ifnull 48
        11: .line 2926
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 11 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 48
        12: .line 2927
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 12 /* valueReference */
        start local 12 // com.google.common.cache.LocalCache$ValueReference valueReference
        13: .line 2928
            aload 12 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 13 /* entryValue */
        start local 13 // java.lang.Object entryValue
        14: .line 2929
            aload 13 /* entryValue */
            ifnonnull 34
        15: .line 2930
            aload 12 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 31
        16: .line 2932
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 14 /* newCount */
        start local 14 // int newCount
        17: .line 2933
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        18: .line 2935
            aload 0 /* this */
        19: .line 2936
            aload 9 /* first */
        20: .line 2937
            aload 10 /* e */
        21: .line 2938
            aload 11 /* entryKey */
        22: .line 2939
            iload 2 /* hash */
        23: .line 2940
            aload 13 /* entryValue */
        24: .line 2941
            aload 12 /* valueReference */
        25: .line 2942
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        26: .line 2935
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        27: .line 2934
            astore 15 /* newFirst */
        start local 15 // com.google.common.cache.ReferenceEntry newFirst
        28: .line 2943
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 14 /* newCount */
        29: .line 2944
            aload 7 /* table */
            iload 8 /* index */
            aload 15 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        30: .line 2945
            aload 0 /* this */
            iload 14 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        end local 15 // com.google.common.cache.ReferenceEntry newFirst
        end local 14 // int newCount
        31: .line 2968
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 2969
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        33: .line 2947
            iconst_0
            ireturn
        34: .line 2950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.valueEquivalence:Lcom/google/common/base/Equivalence;
            aload 3 /* oldValue */
            aload 13 /* entryValue */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 44
        35: .line 2951
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        36: .line 2952
            aload 0 /* this */
        37: .line 2953
            aload 1 /* key */
            iload 2 /* hash */
            aload 13 /* entryValue */
            aload 12 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.REPLACED:Lcom/google/common/cache/RemovalCause;
        38: .line 2952
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        39: .line 2954
            aload 0 /* this */
            aload 10 /* e */
            aload 1 /* key */
            aload 4 /* newValue */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        40: .line 2955
            aload 0 /* this */
            aload 10 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        41: .line 2968
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        42: .line 2969
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        43: .line 2956
            iconst_1
            ireturn
        44: .line 2960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* e */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.recordLockedRead:(Lcom/google/common/cache/ReferenceEntry;J)V
        45: .line 2968
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        46: .line 2969
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        47: .line 2961
            iconst_0
            ireturn
        end local 13 // java.lang.Object entryValue
        end local 12 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 11 // java.lang.Object entryKey
        48: .line 2922
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 10 /* e */
      StackMap locals:
      StackMap stack:
        49: aload 10 /* e */
            ifnonnull 8
        end local 10 // com.google.common.cache.ReferenceEntry e
        50: .line 2968
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        51: .line 2969
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        52: .line 2966
            iconst_0
            ireturn
        end local 9 // com.google.common.cache.ReferenceEntry first
        end local 8 // int index
        end local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 5 // long now
        53: .line 2967
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 16
        54: .line 2968
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        55: .line 2969
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        56: .line 2970
            aload 16
            athrow
        end local 4 // java.lang.Object newValue
        end local 3 // java.lang.Object oldValue
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   57     1             key  TK;
            0   57     2            hash  I
            0   57     3        oldValue  TV;
            0   57     4        newValue  TV;
            2   53     5             now  J
            4   53     7           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            5   53     8           index  I
            6   53     9           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            7   50    10               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            9   48    11        entryKey  TK;
           13   48    12  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           14   48    13      entryValue  TV;
           17   31    14        newCount  I
           28   31    15        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    31      53  any
          34    41      53  any
          44    45      53  any
          48    50      53  any
    Signature: (TK;ITV;TV;)Z
    MethodParameters:
          Name  Flags
      key       
      hash      
      oldValue  
      newValue  

  V replace(K, int, );
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=17, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.lang.Object newValue
         0: .line 2975
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 2977
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 4 /* now */
        start local 4 // long now
         2: .line 2978
            aload 0 /* this */
            lload 4 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 2980
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 6 /* table */
        start local 6 // java.util.concurrent.atomic.AtomicReferenceArray table
         4: .line 2981
            iload 2 /* hash */
            aload 6 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 7 /* index */
        start local 7 // int index
         5: .line 2982
            aload 6 /* table */
            iload 7 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 8 /* first */
        start local 8 // com.google.common.cache.ReferenceEntry first
         6: .line 2984
            aload 8 /* first */
            astore 9 /* e */
        start local 9 // com.google.common.cache.ReferenceEntry e
         7: goto 45
         8: .line 2985
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object long java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 10 /* entryKey */
        start local 10 // java.lang.Object entryKey
         9: .line 2986
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 44
        10: .line 2987
            aload 10 /* entryKey */
            ifnull 44
        11: .line 2988
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 10 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 44
        12: .line 2989
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 11 /* valueReference */
        start local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        13: .line 2990
            aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 12 /* entryValue */
        start local 12 // java.lang.Object entryValue
        14: .line 2991
            aload 12 /* entryValue */
            ifnonnull 34
        15: .line 2992
            aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 31
        16: .line 2994
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 13 /* newCount */
        start local 13 // int newCount
        17: .line 2995
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        18: .line 2997
            aload 0 /* this */
        19: .line 2998
            aload 8 /* first */
        20: .line 2999
            aload 9 /* e */
        21: .line 3000
            aload 10 /* entryKey */
        22: .line 3001
            iload 2 /* hash */
        23: .line 3002
            aload 12 /* entryValue */
        24: .line 3003
            aload 11 /* valueReference */
        25: .line 3004
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        26: .line 2997
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        27: .line 2996
            astore 14 /* newFirst */
        start local 14 // com.google.common.cache.ReferenceEntry newFirst
        28: .line 3005
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 13 /* newCount */
        29: .line 3006
            aload 6 /* table */
            iload 7 /* index */
            aload 14 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        30: .line 3007
            aload 0 /* this */
            iload 13 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        end local 14 // com.google.common.cache.ReferenceEntry newFirst
        end local 13 // int newCount
        31: .line 3023
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 3024
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        33: .line 3009
            aconst_null
            areturn
        34: .line 3012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        35: .line 3013
            aload 0 /* this */
        36: .line 3014
            aload 1 /* key */
            iload 2 /* hash */
            aload 12 /* entryValue */
            aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            getstatic com.google.common.cache.RemovalCause.REPLACED:Lcom/google/common/cache/RemovalCause;
        37: .line 3013
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        38: .line 3015
            aload 0 /* this */
            aload 9 /* e */
            aload 1 /* key */
            aload 3 /* newValue */
            lload 4 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        39: .line 3016
            aload 0 /* this */
            aload 9 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        40: .line 3017
            aload 12 /* entryValue */
            astore 16
        41: .line 3023
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        42: .line 3024
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        43: .line 3017
            aload 16
            areturn
        end local 12 // java.lang.Object entryValue
        end local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 10 // java.lang.Object entryKey
        44: .line 2984
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 9 /* e */
      StackMap locals:
      StackMap stack:
        45: aload 9 /* e */
            ifnonnull 8
        end local 9 // com.google.common.cache.ReferenceEntry e
        46: .line 3023
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        47: .line 3024
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        48: .line 3021
            aconst_null
            areturn
        end local 8 // com.google.common.cache.ReferenceEntry first
        end local 7 // int index
        end local 6 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 4 // long now
        49: .line 3022
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 15
        50: .line 3023
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        51: .line 3024
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        52: .line 3025
            aload 15
            athrow
        end local 3 // java.lang.Object newValue
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   53     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   53     1             key  TK;
            0   53     2            hash  I
            0   53     3        newValue  TV;
            2   49     4             now  J
            4   49     6           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            5   49     7           index  I
            6   49     8           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            7   46     9               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            9   44    10        entryKey  TK;
           13   44    11  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           14   44    12      entryValue  TV;
           17   31    13        newCount  I
           28   31    14        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    31      49  any
          34    41      49  any
          44    46      49  any
    Signature: (TK;ITV;)TV;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      key       
      hash      
      newValue  

  V remove(, );
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=17, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
         0: .line 3030
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3032
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 3 /* now */
        start local 3 // long now
         2: .line 3033
            aload 0 /* this */
            lload 3 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 3035
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 5 /* newCount */
        start local 5 // int newCount
         4: .line 3036
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 6 /* table */
        start local 6 // java.util.concurrent.atomic.AtomicReferenceArray table
         5: .line 3037
            iload 2 /* hash */
            aload 6 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 7 /* index */
        start local 7 // int index
         6: .line 3038
            aload 6 /* table */
            iload 7 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 8 /* first */
        start local 8 // com.google.common.cache.ReferenceEntry first
         7: .line 3040
            aload 8 /* first */
            astore 9 /* e */
        start local 9 // com.google.common.cache.ReferenceEntry e
         8: goto 35
         9: .line 3041
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 10 /* entryKey */
        start local 10 // java.lang.Object entryKey
        10: .line 3042
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 34
        11: .line 3043
            aload 10 /* entryKey */
            ifnull 34
        12: .line 3044
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 10 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 34
        13: .line 3045
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 11 /* valueReference */
        start local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        14: .line 3046
            aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 12 /* entryValue */
        start local 12 // java.lang.Object entryValue
        15: .line 3049
            aload 12 /* entryValue */
            ifnull 18
        16: .line 3050
            getstatic com.google.common.cache.RemovalCause.EXPLICIT:Lcom/google/common/cache/RemovalCause;
            astore 13 /* cause */
        start local 13 // com.google.common.cache.RemovalCause cause
        17: .line 3051
            goto 24
        end local 13 // com.google.common.cache.RemovalCause cause
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
        18: aload 11 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 21
        19: .line 3052
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
            astore 13 /* cause */
        start local 13 // com.google.common.cache.RemovalCause cause
        20: .line 3053
            goto 24
        end local 13 // com.google.common.cache.RemovalCause cause
        21: .line 3070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        22: .line 3071
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        23: .line 3055
            aconst_null
            areturn
        start local 13 // com.google.common.cache.RemovalCause cause
        24: .line 3058
      StackMap locals: com.google.common.cache.RemovalCause
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        25: .line 3060
            aload 0 /* this */
            aload 8 /* first */
            aload 9 /* e */
            aload 10 /* entryKey */
            iload 2 /* hash */
            aload 12 /* entryValue */
            aload 11 /* valueReference */
            aload 13 /* cause */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        26: .line 3059
            astore 14 /* newFirst */
        start local 14 // com.google.common.cache.ReferenceEntry newFirst
        27: .line 3061
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 5 /* newCount */
        28: .line 3062
            aload 6 /* table */
            iload 7 /* index */
            aload 14 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        29: .line 3063
            aload 0 /* this */
            iload 5 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        30: .line 3064
            aload 12 /* entryValue */
            astore 16
        31: .line 3070
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 3071
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        33: .line 3064
            aload 16
            areturn
        end local 14 // com.google.common.cache.ReferenceEntry newFirst
        end local 13 // com.google.common.cache.RemovalCause cause
        end local 12 // java.lang.Object entryValue
        end local 11 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 10 // java.lang.Object entryKey
        34: .line 3040
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 9 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 9 /* e */
      StackMap locals:
      StackMap stack:
        35: aload 9 /* e */
            ifnonnull 9
        end local 9 // com.google.common.cache.ReferenceEntry e
        36: .line 3070
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        37: .line 3071
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        38: .line 3068
            aconst_null
            areturn
        end local 8 // com.google.common.cache.ReferenceEntry first
        end local 7 // int index
        end local 6 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 5 // int newCount
        end local 3 // long now
        39: .line 3069
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int
      StackMap stack: java.lang.Throwable
            astore 15
        40: .line 3070
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        41: .line 3071
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        42: .line 3072
            aload 15
            athrow
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   43     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   43     1             key  Ljava/lang/Object;
            0   43     2            hash  I
            2   39     3             now  J
            4   39     5        newCount  I
            5   39     6           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            6   39     7           index  I
            7   39     8           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            8   36     9               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           10   34    10        entryKey  TK;
           14   34    11  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           15   34    12      entryValue  TV;
           17   18    13           cause  Lcom/google/common/cache/RemovalCause;
           20   21    13           cause  Lcom/google/common/cache/RemovalCause;
           24   34    13           cause  Lcom/google/common/cache/RemovalCause;
           27   34    14        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    21      39  any
          24    31      39  any
          34    36      39  any
    Signature: (Ljava/lang/Object;I)TV;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   
      hash  

  boolean remove(java.lang.Object, int, java.lang.Object);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Z
    flags: (0x0000) 
    Code:
      stack=8, locals=18, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // java.lang.Object value
         0: .line 3076
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3078
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 4 /* now */
        start local 4 // long now
         2: .line 3079
            aload 0 /* this */
            lload 4 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 3081
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 6 /* newCount */
        start local 6 // int newCount
         4: .line 3082
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 7 /* table */
        start local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
         5: .line 3083
            iload 2 /* hash */
            aload 7 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 8 /* index */
        start local 8 // int index
         6: .line 3084
            aload 7 /* table */
            iload 8 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 9 /* first */
        start local 9 // com.google.common.cache.ReferenceEntry first
         7: .line 3086
            aload 9 /* first */
            astore 10 /* e */
        start local 10 // com.google.common.cache.ReferenceEntry e
         8: goto 37
         9: .line 3087
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 11 /* entryKey */
        start local 11 // java.lang.Object entryKey
        10: .line 3088
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 36
        11: .line 3089
            aload 11 /* entryKey */
            ifnull 36
        12: .line 3090
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 11 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 36
        13: .line 3091
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 12 /* valueReference */
        start local 12 // com.google.common.cache.LocalCache$ValueReference valueReference
        14: .line 3092
            aload 12 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 13 /* entryValue */
        start local 13 // java.lang.Object entryValue
        15: .line 3095
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.valueEquivalence:Lcom/google/common/base/Equivalence;
            aload 3 /* value */
            aload 13 /* entryValue */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 18
        16: .line 3096
            getstatic com.google.common.cache.RemovalCause.EXPLICIT:Lcom/google/common/cache/RemovalCause;
            astore 14 /* cause */
        start local 14 // com.google.common.cache.RemovalCause cause
        17: .line 3097
            goto 24
        end local 14 // com.google.common.cache.RemovalCause cause
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
        18: aload 13 /* entryValue */
            ifnonnull 21
            aload 12 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 21
        19: .line 3098
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
            astore 14 /* cause */
        start local 14 // com.google.common.cache.RemovalCause cause
        20: .line 3099
            goto 24
        end local 14 // com.google.common.cache.RemovalCause cause
        21: .line 3116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        22: .line 3117
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        23: .line 3101
            iconst_0
            ireturn
        start local 14 // com.google.common.cache.RemovalCause cause
        24: .line 3104
      StackMap locals: com.google.common.cache.RemovalCause
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        25: .line 3106
            aload 0 /* this */
            aload 9 /* first */
            aload 10 /* e */
            aload 11 /* entryKey */
            iload 2 /* hash */
            aload 13 /* entryValue */
            aload 12 /* valueReference */
            aload 14 /* cause */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        26: .line 3105
            astore 15 /* newFirst */
        start local 15 // com.google.common.cache.ReferenceEntry newFirst
        27: .line 3107
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 6 /* newCount */
        28: .line 3108
            aload 7 /* table */
            iload 8 /* index */
            aload 15 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        29: .line 3109
            aload 0 /* this */
            iload 6 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        30: .line 3110
            aload 14 /* cause */
            getstatic com.google.common.cache.RemovalCause.EXPLICIT:Lcom/google/common/cache/RemovalCause;
            if_acmpne 31
            iconst_1
            goto 32
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 17
        33: .line 3116
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        34: .line 3117
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        35: .line 3110
            iload 17
            ireturn
        end local 15 // com.google.common.cache.ReferenceEntry newFirst
        end local 14 // com.google.common.cache.RemovalCause cause
        end local 13 // java.lang.Object entryValue
        end local 12 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 11 // java.lang.Object entryKey
        36: .line 3086
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 10 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 10 /* e */
      StackMap locals:
      StackMap stack:
        37: aload 10 /* e */
            ifnonnull 9
        end local 10 // com.google.common.cache.ReferenceEntry e
        38: .line 3116
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        39: .line 3117
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        40: .line 3114
            iconst_0
            ireturn
        end local 9 // com.google.common.cache.ReferenceEntry first
        end local 8 // int index
        end local 7 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 6 // int newCount
        end local 4 // long now
        41: .line 3115
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 16
        42: .line 3116
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        43: .line 3117
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        44: .line 3118
            aload 16
            athrow
        end local 3 // java.lang.Object value
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   45     1             key  Ljava/lang/Object;
            0   45     2            hash  I
            0   45     3           value  Ljava/lang/Object;
            2   41     4             now  J
            4   41     6        newCount  I
            5   41     7           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            6   41     8           index  I
            7   41     9           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            8   38    10               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           10   36    11        entryKey  TK;
           14   36    12  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           15   36    13      entryValue  TV;
           17   18    14           cause  Lcom/google/common/cache/RemovalCause;
           20   21    14           cause  Lcom/google/common/cache/RemovalCause;
           24   36    14           cause  Lcom/google/common/cache/RemovalCause;
           27   36    15        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    21      41  any
          24    33      41  any
          36    38      41  any
    MethodParameters:
       Name  Flags
      key    
      hash   
      value  

  boolean storeLoadedValue(K, int, com.google.common.cache.LocalCache$LoadingValueReference<K, V>, );
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;Ljava/lang/Object;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$LoadingValueReference oldValueReference
        start local 4 // java.lang.Object newValue
         0: .line 3123
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3125
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 5 /* now */
        start local 5 // long now
         2: .line 3126
            aload 0 /* this */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         3: .line 3128
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
        start local 7 // int newCount
         4: .line 3129
            iload 7 /* newCount */
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.threshold:I
            if_icmple 7
         5: .line 3130
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.expand:()V
         6: .line 3131
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            iadd
            istore 7 /* newCount */
         7: .line 3134
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 8 /* table */
        start local 8 // java.util.concurrent.atomic.AtomicReferenceArray table
         8: .line 3135
            iload 2 /* hash */
            aload 8 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 9 /* index */
        start local 9 // int index
         9: .line 3136
            aload 8 /* table */
            iload 9 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 10 /* first */
        start local 10 // com.google.common.cache.ReferenceEntry first
        10: .line 3138
            aload 10 /* first */
            astore 11 /* e */
        start local 11 // com.google.common.cache.ReferenceEntry e
        11: goto 38
        12: .line 3139
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference java.lang.Object long int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 12 /* entryKey */
        start local 12 // java.lang.Object entryKey
        13: .line 3140
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 37
        14: .line 3141
            aload 12 /* entryKey */
            ifnull 37
        15: .line 3142
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 12 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 37
        16: .line 3143
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 13 /* valueReference */
        start local 13 // com.google.common.cache.LocalCache$ValueReference valueReference
        17: .line 3144
            aload 13 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 14 /* entryValue */
        start local 14 // java.lang.Object entryValue
        18: .line 3147
            aload 3 /* oldValueReference */
            aload 13 /* valueReference */
            if_acmpeq 20
        19: .line 3148
            aload 14 /* entryValue */
            ifnonnull 33
            aload 13 /* valueReference */
            getstatic com.google.common.cache.LocalCache.UNSET:Lcom/google/common/cache/LocalCache$ValueReference;
            if_acmpeq 33
        20: .line 3149
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference java.lang.Object
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        21: .line 3150
            aload 3 /* oldValueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.isActive:()Z
            ifeq 27
        22: .line 3152
            aload 14 /* entryValue */
            ifnonnull 23
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
            goto 24
      StackMap locals:
      StackMap stack:
        23: getstatic com.google.common.cache.RemovalCause.REPLACED:Lcom/google/common/cache/RemovalCause;
        24: .line 3151
      StackMap locals:
      StackMap stack: com.google.common.cache.RemovalCause
            astore 15 /* cause */
        start local 15 // com.google.common.cache.RemovalCause cause
        25: .line 3153
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 14 /* entryValue */
            aload 3 /* oldValueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.getWeight:()I
            aload 15 /* cause */
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        26: .line 3154
            iinc 7 /* newCount */ -1
        end local 15 // com.google.common.cache.RemovalCause cause
        27: .line 3156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* e */
            aload 1 /* key */
            aload 4 /* newValue */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        28: .line 3157
            aload 0 /* this */
            iload 7 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        29: .line 3158
            aload 0 /* this */
            aload 11 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        30: .line 3176
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        31: .line 3177
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        32: .line 3159
            iconst_1
            ireturn
        33: .line 3163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 4 /* newValue */
            iconst_0
            getstatic com.google.common.cache.RemovalCause.REPLACED:Lcom/google/common/cache/RemovalCause;
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        34: .line 3176
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        35: .line 3177
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        36: .line 3164
            iconst_0
            ireturn
        end local 14 // java.lang.Object entryValue
        end local 13 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 12 // java.lang.Object entryKey
        37: .line 3138
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 11 /* e */
      StackMap locals:
      StackMap stack:
        38: aload 11 /* e */
            ifnonnull 12
        end local 11 // com.google.common.cache.ReferenceEntry e
        39: .line 3168
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        40: .line 3169
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* hash */
            aload 10 /* first */
            invokevirtual com.google.common.cache.LocalCache$Segment.newEntry:(Ljava/lang/Object;ILcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 11 /* newEntry */
        start local 11 // com.google.common.cache.ReferenceEntry newEntry
        41: .line 3170
            aload 0 /* this */
            aload 11 /* newEntry */
            aload 1 /* key */
            aload 4 /* newValue */
            lload 5 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.setValue:(Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;Ljava/lang/Object;J)V
        42: .line 3171
            aload 8 /* table */
            iload 9 /* index */
            aload 11 /* newEntry */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        43: .line 3172
            aload 0 /* this */
            iload 7 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        44: .line 3173
            aload 0 /* this */
            aload 11 /* newEntry */
            invokevirtual com.google.common.cache.LocalCache$Segment.evictEntries:(Lcom/google/common/cache/ReferenceEntry;)V
        45: .line 3176
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        46: .line 3177
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        47: .line 3174
            iconst_1
            ireturn
        end local 11 // com.google.common.cache.ReferenceEntry newEntry
        end local 10 // com.google.common.cache.ReferenceEntry first
        end local 9 // int index
        end local 8 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 7 // int newCount
        end local 5 // long now
        48: .line 3175
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 16
        49: .line 3176
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        50: .line 3177
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        51: .line 3178
            aload 16
            athrow
        end local 4 // java.lang.Object newValue
        end local 3 // com.google.common.cache.LocalCache$LoadingValueReference oldValueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   52     0               this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   52     1                key  TK;
            0   52     2               hash  I
            0   52     3  oldValueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            0   52     4           newValue  TV;
            2   48     5                now  J
            4   48     7           newCount  I
            8   48     8              table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            9   48     9              index  I
           10   48    10              first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           11   39    11                  e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           13   37    12           entryKey  TK;
           17   37    13     valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           18   37    14         entryValue  TV;
           25   27    15              cause  Lcom/google/common/cache/RemovalCause;
           41   48    11           newEntry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    30      48  any
          33    34      48  any
          37    45      48  any
    Signature: (TK;ILcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;TV;)Z
    MethodParameters:
                   Name  Flags
      key                
      hash               
      oldValueReference  
      newValue           

  void clear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 3182
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            ifeq 41
         1: .line 3183
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         2: .line 3185
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 1 /* now */
        start local 1 // long now
         3: .line 3186
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.preWriteCleanup:(J)V
         4: .line 3188
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 3 /* table */
        start local 3 // java.util.concurrent.atomic.AtomicReferenceArray table
         5: .line 3189
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 22
         7: .line 3190
      StackMap locals: long java.util.concurrent.atomic.AtomicReferenceArray int
      StackMap stack:
            aload 3 /* table */
            iload 4 /* i */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 5 /* e */
        start local 5 // com.google.common.cache.ReferenceEntry e
         8: goto 20
         9: .line 3192
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isActive:()Z
            ifeq 19
        10: .line 3193
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 6 /* key */
        start local 6 // java.lang.Object key
        11: .line 3194
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        12: .line 3196
            aload 6 /* key */
            ifnull 13
            aload 7 /* value */
            ifnonnull 14
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
        13: getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
            goto 15
      StackMap locals:
      StackMap stack:
        14: getstatic com.google.common.cache.RemovalCause.EXPLICIT:Lcom/google/common/cache/RemovalCause;
        15: .line 3195
      StackMap locals:
      StackMap stack: com.google.common.cache.RemovalCause
            astore 8 /* cause */
        start local 8 // com.google.common.cache.RemovalCause cause
        16: .line 3197
            aload 0 /* this */
        17: .line 3198
            aload 6 /* key */
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            aload 7 /* value */
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            aload 8 /* cause */
        18: .line 3197
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
        end local 8 // com.google.common.cache.RemovalCause cause
        end local 7 // java.lang.Object value
        end local 6 // java.lang.Object key
        19: .line 3190
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* e */
      StackMap locals:
      StackMap stack:
        20: aload 5 /* e */
            ifnonnull 9
        end local 5 // com.google.common.cache.ReferenceEntry e
        21: .line 3189
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            if_icmplt 7
        end local 4 // int i
        23: .line 3202
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 27
        25: .line 3203
      StackMap locals:
      StackMap stack:
            aload 3 /* table */
            iload 4 /* i */
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        26: .line 3202
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            aload 3 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            if_icmplt 25
        end local 4 // int i
        28: .line 3205
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.clearReferenceQueues:()V
        29: .line 3206
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        30: .line 3207
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        31: .line 3208
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.readCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
        32: .line 3210
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        33: .line 3211
            aload 0 /* this */
            iconst_0
            putfield com.google.common.cache.LocalCache$Segment.count:I
        end local 3 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 1 // long now
        34: .line 3212
            goto 39
      StackMap locals: com.google.common.cache.LocalCache$Segment
      StackMap stack: java.lang.Throwable
        35: astore 9
        36: .line 3213
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        37: .line 3214
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        38: .line 3215
            aload 9
            athrow
        39: .line 3213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        40: .line 3214
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        41: .line 3217
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   42     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            3   34     1    now  J
            5   34     3  table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            6   23     4      i  I
            8   21     5      e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           11   19     6    key  TK;
           12   19     7  value  TV;
           16   19     8  cause  Lcom/google/common/cache/RemovalCause;
           24   28     4      i  I
      Exception table:
        from    to  target  type
           2    35      35  any

  com.google.common.cache.ReferenceEntry<K, V> removeValueFromChain(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>, K, int, V, com.google.common.cache.LocalCache$ValueReference<K, V>, com.google.common.cache.RemovalCause);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry first
        start local 2 // com.google.common.cache.ReferenceEntry entry
        start local 3 // java.lang.Object key
        start local 4 // int hash
        start local 5 // java.lang.Object value
        start local 6 // com.google.common.cache.LocalCache$ValueReference valueReference
        start local 7 // com.google.common.cache.RemovalCause cause
         0: .line 3229
            aload 0 /* this */
            aload 3 /* key */
            iload 4 /* hash */
            aload 5 /* value */
            aload 6 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
            aload 7 /* cause */
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
         1: .line 3230
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            aload 2 /* entry */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 3231
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 2 /* entry */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 3233
            aload 6 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.isLoading:()Z
            ifeq 6
         4: .line 3234
            aload 6 /* valueReference */
            aconst_null
            invokeinterface com.google.common.cache.LocalCache$ValueReference.notifyNewValue:(Ljava/lang/Object;)V
         5: .line 3235
            aload 1 /* first */
            areturn
         6: .line 3237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* first */
            aload 2 /* entry */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntryFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            areturn
        end local 7 // com.google.common.cache.RemovalCause cause
        end local 6 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 5 // java.lang.Object value
        end local 4 // int hash
        end local 3 // java.lang.Object key
        end local 2 // com.google.common.cache.ReferenceEntry entry
        end local 1 // com.google.common.cache.ReferenceEntry first
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    7     1           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    7     2           entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0    7     3             key  TK;
            0    7     4            hash  I
            0    7     5           value  TV;
            0    7     6  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            0    7     7           cause  Lcom/google/common/cache/RemovalCause;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;TK;ITV;Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
                Name  Flags
      first           
      entry           
      key             
      hash            
      value           
      valueReference  
      cause           

  com.google.common.cache.ReferenceEntry<K, V> removeEntryFromChain(com.google.common.cache.ReferenceEntry<K, V>, com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry first
        start local 2 // com.google.common.cache.ReferenceEntry entry
         0: .line 3245
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            istore 3 /* newCount */
        start local 3 // int newCount
         1: .line 3246
            aload 2 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 4 /* newFirst */
        start local 4 // com.google.common.cache.ReferenceEntry newFirst
         2: .line 3247
            aload 1 /* first */
            astore 5 /* e */
        start local 5 // com.google.common.cache.ReferenceEntry e
         3: goto 11
         4: .line 3248
      StackMap locals: int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 5 /* e */
            aload 4 /* newFirst */
            invokevirtual com.google.common.cache.LocalCache$Segment.copyEntry:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 6 /* next */
        start local 6 // com.google.common.cache.ReferenceEntry next
         5: .line 3249
            aload 6 /* next */
            ifnull 8
         6: .line 3250
            aload 6 /* next */
            astore 4 /* newFirst */
         7: .line 3251
            goto 10
         8: .line 3252
      StackMap locals: com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeCollectedEntry:(Lcom/google/common/cache/ReferenceEntry;)V
         9: .line 3253
            iinc 3 /* newCount */ -1
        end local 6 // com.google.common.cache.ReferenceEntry next
        10: .line 3247
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 5 /* e */
      StackMap locals:
      StackMap stack:
        11: aload 5 /* e */
            aload 2 /* entry */
            if_acmpne 4
        end local 5 // com.google.common.cache.ReferenceEntry e
        12: .line 3256
            aload 0 /* this */
            iload 3 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        13: .line 3257
            aload 4 /* newFirst */
            areturn
        end local 4 // com.google.common.cache.ReferenceEntry newFirst
        end local 3 // int newCount
        end local 2 // com.google.common.cache.ReferenceEntry entry
        end local 1 // com.google.common.cache.ReferenceEntry first
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   14     1     first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   14     2     entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            1   14     3  newCount  I
            2   14     4  newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            3   12     5         e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            5   10     6      next  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      first  
      entry  

  void removeCollectedEntry(com.google.common.cache.ReferenceEntry<K, V>);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
         0: .line 3262
            aload 0 /* this */
         1: .line 3263
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
         2: .line 3264
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
         3: .line 3265
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
         4: .line 3266
            aload 1 /* entry */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.getWeight:()I
         5: .line 3267
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
         6: .line 3262
            invokevirtual com.google.common.cache.LocalCache$Segment.enqueueNotification:(Ljava/lang/Object;ILjava/lang/Object;ILcom/google/common/cache/RemovalCause;)V
         7: .line 3268
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.writeQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
         8: .line 3269
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.accessQueue:Ljava/util/Queue;
            aload 1 /* entry */
            invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 3270
            return
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   10     1  entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;)V
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
       Name  Flags
      entry  

  boolean reclaimKey(com.google.common.cache.ReferenceEntry<K, V>, );
    descriptor: (Lcom/google/common/cache/ReferenceEntry;I)Z
    flags: (0x0000) 
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // int hash
         0: .line 3274
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3276
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 3 /* newCount */
        start local 3 // int newCount
         2: .line 3277
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 4 /* table */
        start local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
         3: .line 3278
            iload 2 /* hash */
            aload 4 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 5 /* index */
        start local 5 // int index
         4: .line 3279
            aload 4 /* table */
            iload 5 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 6 /* first */
        start local 6 // com.google.common.cache.ReferenceEntry first
         5: .line 3281
            aload 6 /* first */
            astore 7 /* e */
        start local 7 // com.google.common.cache.ReferenceEntry e
         6: goto 26
         7: .line 3282
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.ReferenceEntry int int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 7 /* e */
            aload 1 /* entry */
            if_acmpne 25
         8: .line 3283
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
         9: .line 3285
            aload 0 /* this */
        10: .line 3286
            aload 6 /* first */
        11: .line 3287
            aload 7 /* e */
        12: .line 3288
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
        13: .line 3289
            iload 2 /* hash */
        14: .line 3290
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
        15: .line 3291
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
        16: .line 3292
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        17: .line 3285
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        18: .line 3284
            astore 8 /* newFirst */
        start local 8 // com.google.common.cache.ReferenceEntry newFirst
        19: .line 3293
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 3 /* newCount */
        20: .line 3294
            aload 4 /* table */
            iload 5 /* index */
            aload 8 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        21: .line 3295
            aload 0 /* this */
            iload 3 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        22: .line 3302
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        23: .line 3303
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        24: .line 3296
            iconst_1
            ireturn
        end local 8 // com.google.common.cache.ReferenceEntry newFirst
        25: .line 3281
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 7 /* e */
      StackMap locals:
      StackMap stack:
        26: aload 7 /* e */
            ifnonnull 7
        end local 7 // com.google.common.cache.ReferenceEntry e
        27: .line 3302
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        28: .line 3303
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        29: .line 3300
            iconst_0
            ireturn
        end local 6 // com.google.common.cache.ReferenceEntry first
        end local 5 // int index
        end local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 3 // int newCount
        30: .line 3301
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.ReferenceEntry int
      StackMap stack: java.lang.Throwable
            astore 9
        31: .line 3302
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 3303
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        33: .line 3304
            aload 9
            athrow
        end local 2 // int hash
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   34     1     entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   34     2      hash  I
            2   30     3  newCount  I
            3   30     4     table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            4   30     5     index  I
            5   30     6     first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            6   27     7         e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           19   25     8  newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    22      30  any
          25    27      30  any
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;I)Z
    MethodParameters:
       Name  Flags
      entry  
      hash   

  boolean reclaimValue(K, int, com.google.common.cache.LocalCache$ValueReference<K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$ValueReference;)Z
    flags: (0x0000) 
    Code:
      stack=8, locals=13, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
         0: .line 3309
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3311
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 4 /* newCount */
        start local 4 // int newCount
         2: .line 3312
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 5 /* table */
        start local 5 // java.util.concurrent.atomic.AtomicReferenceArray table
         3: .line 3313
            iload 2 /* hash */
            aload 5 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 6 /* index */
        start local 6 // int index
         4: .line 3314
            aload 5 /* table */
            iload 6 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 7 /* first */
        start local 7 // com.google.common.cache.ReferenceEntry first
         5: .line 3316
            aload 7 /* first */
            astore 8 /* e */
        start local 8 // com.google.common.cache.ReferenceEntry e
         6: goto 36
         7: .line 3317
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$ValueReference int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 9 /* entryKey */
        start local 9 // java.lang.Object entryKey
         8: .line 3318
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 35
         9: .line 3319
            aload 9 /* entryKey */
            ifnull 35
        10: .line 3320
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 9 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 35
        11: .line 3321
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 10 /* v */
        start local 10 // com.google.common.cache.LocalCache$ValueReference v
        12: .line 3322
            aload 10 /* v */
            aload 3 /* valueReference */
            if_acmpne 31
        13: .line 3323
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
        14: .line 3325
            aload 0 /* this */
        15: .line 3326
            aload 7 /* first */
        16: .line 3327
            aload 8 /* e */
        17: .line 3328
            aload 9 /* entryKey */
        18: .line 3329
            iload 2 /* hash */
        19: .line 3330
            aload 3 /* valueReference */
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
        20: .line 3331
            aload 3 /* valueReference */
        21: .line 3332
            getstatic com.google.common.cache.RemovalCause.COLLECTED:Lcom/google/common/cache/RemovalCause;
        22: .line 3325
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        23: .line 3324
            astore 11 /* newFirst */
        start local 11 // com.google.common.cache.ReferenceEntry newFirst
        24: .line 3333
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 4 /* newCount */
        25: .line 3334
            aload 5 /* table */
            iload 6 /* index */
            aload 11 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        26: .line 3335
            aload 0 /* this */
            iload 4 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        27: .line 3344
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        28: .line 3345
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.isHeldByCurrentThread:()Z
            ifne 30
        29: .line 3346
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        30: .line 3336
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference com.google.common.cache.ReferenceEntry
      StackMap stack:
            iconst_1
            ireturn
        end local 11 // com.google.common.cache.ReferenceEntry newFirst
        31: .line 3344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        32: .line 3345
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.isHeldByCurrentThread:()Z
            ifne 34
        33: .line 3346
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        34: .line 3338
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 10 // com.google.common.cache.LocalCache$ValueReference v
        end local 9 // java.lang.Object entryKey
        35: .line 3316
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 8 /* e */
      StackMap locals:
      StackMap stack:
        36: aload 8 /* e */
            ifnonnull 7
        end local 8 // com.google.common.cache.ReferenceEntry e
        37: .line 3344
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        38: .line 3345
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.isHeldByCurrentThread:()Z
            ifne 40
        39: .line 3346
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        40: .line 3342
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // com.google.common.cache.ReferenceEntry first
        end local 6 // int index
        end local 5 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 4 // int newCount
        41: .line 3343
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$ValueReference
      StackMap stack: java.lang.Throwable
            astore 12
        42: .line 3344
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        43: .line 3345
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.isHeldByCurrentThread:()Z
            ifne 45
        44: .line 3346
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        45: .line 3348
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$ValueReference top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        end local 3 // com.google.common.cache.LocalCache$ValueReference valueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   46     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   46     1             key  TK;
            0   46     2            hash  I
            0   46     3  valueReference  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
            2   41     4        newCount  I
            3   41     5           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            4   41     6           index  I
            5   41     7           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            6   37     8               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            8   35     9        entryKey  TK;
           12   35    10               v  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           24   31    11        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    27      41  any
          35    37      41  any
    Signature: (TK;ILcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;)Z
    MethodParameters:
                Name  Flags
      key             
      hash            
      valueReference  

  boolean removeLoadingValue(K, int, com.google.common.cache.LocalCache$LoadingValueReference<K, V>);
    descriptor: (Ljava/lang/Object;ILcom/google/common/cache/LocalCache$LoadingValueReference;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=12, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // java.lang.Object key
        start local 2 // int hash
        start local 3 // com.google.common.cache.LocalCache$LoadingValueReference valueReference
         0: .line 3352
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.lock:()V
         1: .line 3354
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 4 /* table */
        start local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
         2: .line 3355
            iload 2 /* hash */
            aload 4 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 5 /* index */
        start local 5 // int index
         3: .line 3356
            aload 4 /* table */
            iload 5 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 6 /* first */
        start local 6 // com.google.common.cache.ReferenceEntry first
         4: .line 3358
            aload 6 /* first */
            astore 7 /* e */
        start local 7 // com.google.common.cache.ReferenceEntry e
         5: goto 24
         6: .line 3359
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
            astore 8 /* entryKey */
        start local 8 // java.lang.Object entryKey
         7: .line 3360
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getHash:()I
            iload 2 /* hash */
            if_icmpne 23
         8: .line 3361
            aload 8 /* entryKey */
            ifnull 23
         9: .line 3362
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.keyEquivalence:Lcom/google/common/base/Equivalence;
            aload 1 /* key */
            aload 8 /* entryKey */
            invokevirtual com.google.common.base.Equivalence.equivalent:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 23
        10: .line 3363
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            astore 9 /* v */
        start local 9 // com.google.common.cache.LocalCache$ValueReference v
        11: .line 3364
            aload 9 /* v */
            aload 3 /* valueReference */
            if_acmpne 20
        12: .line 3365
            aload 3 /* valueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.isActive:()Z
            ifeq 15
        13: .line 3366
            aload 7 /* e */
            aload 3 /* valueReference */
            invokevirtual com.google.common.cache.LocalCache$LoadingValueReference.getOldValue:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.ReferenceEntry.setValueReference:(Lcom/google/common/cache/LocalCache$ValueReference;)V
        14: .line 3367
            goto 17
        15: .line 3368
      StackMap locals: java.lang.Object com.google.common.cache.LocalCache$ValueReference
      StackMap stack:
            aload 0 /* this */
            aload 6 /* first */
            aload 7 /* e */
            invokevirtual com.google.common.cache.LocalCache$Segment.removeEntryFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;)Lcom/google/common/cache/ReferenceEntry;
            astore 10 /* newFirst */
        start local 10 // com.google.common.cache.ReferenceEntry newFirst
        16: .line 3369
            aload 4 /* table */
            iload 5 /* index */
            aload 10 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        end local 10 // com.google.common.cache.ReferenceEntry newFirst
        17: .line 3379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        18: .line 3380
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        19: .line 3371
            iconst_1
            ireturn
        20: .line 3379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        21: .line 3380
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        22: .line 3373
            iconst_0
            ireturn
        end local 9 // com.google.common.cache.LocalCache$ValueReference v
        end local 8 // java.lang.Object entryKey
        23: .line 3358
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 7 /* e */
      StackMap locals:
      StackMap stack:
        24: aload 7 /* e */
            ifnonnull 6
        end local 7 // com.google.common.cache.ReferenceEntry e
        25: .line 3379
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        26: .line 3380
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        27: .line 3377
            iconst_0
            ireturn
        end local 6 // com.google.common.cache.ReferenceEntry first
        end local 5 // int index
        end local 4 // java.util.concurrent.atomic.AtomicReferenceArray table
        28: .line 3378
      StackMap locals: com.google.common.cache.LocalCache$Segment java.lang.Object int com.google.common.cache.LocalCache$LoadingValueReference
      StackMap stack: java.lang.Throwable
            astore 11
        29: .line 3379
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
        30: .line 3380
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.postWriteCleanup:()V
        31: .line 3381
            aload 11
            athrow
        end local 3 // com.google.common.cache.LocalCache$LoadingValueReference valueReference
        end local 2 // int hash
        end local 1 // java.lang.Object key
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   32     1             key  TK;
            0   32     2            hash  I
            0   32     3  valueReference  Lcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;
            2   28     4           table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            3   28     5           index  I
            4   28     6           first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            5   25     7               e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            7   23     8        entryKey  TK;
           11   23     9               v  Lcom/google/common/cache/LocalCache$ValueReference<TK;TV;>;
           16   17    10        newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
      Exception table:
        from    to  target  type
           1    17      28  any
          23    25      28  any
    Signature: (TK;ILcom/google/common/cache/LocalCache$LoadingValueReference<TK;TV;>;)Z
    MethodParameters:
                Name  Flags
      key             
      hash            
      valueReference  

  boolean removeEntry(com.google.common.cache.ReferenceEntry<K, V>, int, com.google.common.cache.RemovalCause);
    descriptor: (Lcom/google/common/cache/ReferenceEntry;ILcom/google/common/cache/RemovalCause;)Z
    flags: (0x0000) 
    Code:
      stack=8, locals=10, args_size=4
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // com.google.common.cache.ReferenceEntry entry
        start local 2 // int hash
        start local 3 // com.google.common.cache.RemovalCause cause
         0: .line 3387
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 4 /* newCount */
        start local 4 // int newCount
         1: .line 3388
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.table:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            astore 5 /* table */
        start local 5 // java.util.concurrent.atomic.AtomicReferenceArray table
         2: .line 3389
            iload 2 /* hash */
            aload 5 /* table */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.length:()I
            iconst_1
            isub
            iand
            istore 6 /* index */
        start local 6 // int index
         3: .line 3390
            aload 5 /* table */
            iload 6 /* index */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
            checkcast com.google.common.cache.ReferenceEntry
            astore 7 /* first */
        start local 7 // com.google.common.cache.ReferenceEntry first
         4: .line 3392
            aload 7 /* first */
            astore 8 /* e */
        start local 8 // com.google.common.cache.ReferenceEntry e
         5: goto 23
         6: .line 3393
      StackMap locals: com.google.common.cache.LocalCache$Segment com.google.common.cache.ReferenceEntry int com.google.common.cache.RemovalCause int java.util.concurrent.atomic.AtomicReferenceArray int com.google.common.cache.ReferenceEntry com.google.common.cache.ReferenceEntry
      StackMap stack:
            aload 8 /* e */
            aload 1 /* entry */
            if_acmpne 22
         7: .line 3394
            aload 0 /* this */
            dup
            getfield com.google.common.cache.LocalCache$Segment.modCount:I
            iconst_1
            iadd
            putfield com.google.common.cache.LocalCache$Segment.modCount:I
         8: .line 3396
            aload 0 /* this */
         9: .line 3397
            aload 7 /* first */
        10: .line 3398
            aload 8 /* e */
        11: .line 3399
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getKey:()Ljava/lang/Object;
        12: .line 3400
            iload 2 /* hash */
        13: .line 3401
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
            invokeinterface com.google.common.cache.LocalCache$ValueReference.get:()Ljava/lang/Object;
        14: .line 3402
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getValueReference:()Lcom/google/common/cache/LocalCache$ValueReference;
        15: .line 3403
            aload 3 /* cause */
        16: .line 3396
            invokevirtual com.google.common.cache.LocalCache$Segment.removeValueFromChain:(Lcom/google/common/cache/ReferenceEntry;Lcom/google/common/cache/ReferenceEntry;Ljava/lang/Object;ILjava/lang/Object;Lcom/google/common/cache/LocalCache$ValueReference;Lcom/google/common/cache/RemovalCause;)Lcom/google/common/cache/ReferenceEntry;
        17: .line 3395
            astore 9 /* newFirst */
        start local 9 // com.google.common.cache.ReferenceEntry newFirst
        18: .line 3404
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.count:I
            iconst_1
            isub
            istore 4 /* newCount */
        19: .line 3405
            aload 5 /* table */
            iload 6 /* index */
            aload 9 /* newFirst */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
        20: .line 3406
            aload 0 /* this */
            iload 4 /* newCount */
            putfield com.google.common.cache.LocalCache$Segment.count:I
        21: .line 3407
            iconst_1
            ireturn
        end local 9 // com.google.common.cache.ReferenceEntry newFirst
        22: .line 3392
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokeinterface com.google.common.cache.ReferenceEntry.getNext:()Lcom/google/common/cache/ReferenceEntry;
            astore 8 /* e */
      StackMap locals:
      StackMap stack:
        23: aload 8 /* e */
            ifnonnull 6
        end local 8 // com.google.common.cache.ReferenceEntry e
        24: .line 3411
            iconst_0
            ireturn
        end local 7 // com.google.common.cache.ReferenceEntry first
        end local 6 // int index
        end local 5 // java.util.concurrent.atomic.AtomicReferenceArray table
        end local 4 // int newCount
        end local 3 // com.google.common.cache.RemovalCause cause
        end local 2 // int hash
        end local 1 // com.google.common.cache.ReferenceEntry entry
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   25     1     entry  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            0   25     2      hash  I
            0   25     3     cause  Lcom/google/common/cache/RemovalCause;
            1   25     4  newCount  I
            2   25     5     table  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/google/common/cache/ReferenceEntry<TK;TV;>;>;
            3   25     6     index  I
            4   25     7     first  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
            5   24     8         e  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
           18   22     9  newFirst  Lcom/google/common/cache/ReferenceEntry<TK;TV;>;
    Signature: (Lcom/google/common/cache/ReferenceEntry<TK;TV;>;ILcom/google/common/cache/RemovalCause;)Z
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
       Name  Flags
      entry  
      hash   
      cause  

  void postReadCleanup();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 3419
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.readCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            bipush 63
            iand
            ifne 2
         1: .line 3420
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.cleanUp:()V
         2: .line 3422
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;

  void preWriteCleanup(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // long now
         0: .line 3432
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.runLockedCleanup:(J)V
         1: .line 3433
            return
        end local 1 // long now
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0    2     1   now  J
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.GuardedBy(value = "this")
    MethodParameters:
      Name  Flags
      now   

  void postWriteCleanup();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 3437
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.runUnlockedCleanup:()V
         1: .line 3438
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;

  void cleanUp();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 3441
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            getfield com.google.common.cache.LocalCache.ticker:Lcom/google/common/base/Ticker;
            invokevirtual com.google.common.base.Ticker.read:()J
            lstore 1 /* now */
        start local 1 // long now
         1: .line 3442
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.runLockedCleanup:(J)V
         2: .line 3443
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.runUnlockedCleanup:()V
         3: .line 3444
            return
        end local 1 // long now
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            1    4     1   now  J

  void runLockedCleanup(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.google.common.cache.LocalCache$Segment this
        start local 1 // long now
         0: .line 3447
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.tryLock:()Z
            ifeq 9
         1: .line 3449
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.drainReferenceQueues:()V
         2: .line 3450
            aload 0 /* this */
            lload 1 /* now */
            invokevirtual com.google.common.cache.LocalCache$Segment.expireEntries:(J)V
         3: .line 3451
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.readCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         4: .line 3452
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 3453
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         7: .line 3454
            aload 3
            athrow
         8: .line 3453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.unlock:()V
         9: .line 3456
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long now
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
            0   10     1   now  J
      Exception table:
        from    to  target  type
           1     5       5  any
    MethodParameters:
      Name  Flags
      now   

  void runUnlockedCleanup();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.cache.LocalCache$Segment this
         0: .line 3460
            aload 0 /* this */
            invokevirtual com.google.common.cache.LocalCache$Segment.isHeldByCurrentThread:()Z
            ifne 2
         1: .line 3461
            aload 0 /* this */
            getfield com.google.common.cache.LocalCache$Segment.map:Lcom/google/common/cache/LocalCache;
            invokevirtual com.google.common.cache.LocalCache.processPendingNotifications:()V
         2: .line 3463
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.common.cache.LocalCache$Segment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/cache/LocalCache$Segment<TK;TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/locks/ReentrantLock;
SourceFile: "LocalCache.java"
NestHost: com.google.common.cache.LocalCache
InnerClasses:
  public abstract StatsCounter = com.google.common.cache.AbstractCache$StatsCounter of com.google.common.cache.AbstractCache
  public final InvalidCacheLoadException = com.google.common.cache.CacheLoader$InvalidCacheLoadException of com.google.common.cache.CacheLoader
  final AccessQueue = com.google.common.cache.LocalCache$AccessQueue of com.google.common.cache.LocalCache
  abstract EntryFactory = com.google.common.cache.LocalCache$EntryFactory of com.google.common.cache.LocalCache
  LoadingValueReference = com.google.common.cache.LocalCache$LoadingValueReference of com.google.common.cache.LocalCache
  Segment = com.google.common.cache.LocalCache$Segment of com.google.common.cache.LocalCache
  com.google.common.cache.LocalCache$Segment$1
  abstract Strength = com.google.common.cache.LocalCache$Strength of com.google.common.cache.LocalCache
  abstract ValueReference = com.google.common.cache.LocalCache$ValueReference of com.google.common.cache.LocalCache
  final WriteQueue = com.google.common.cache.LocalCache$WriteQueue of com.google.common.cache.LocalCache