public class org.apache.cassandra.cache.SerializingCache<K, V> implements org.apache.cassandra.cache.ICache<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cache.SerializingCache
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<K, org.apache.cassandra.cache.RefCountedMemory> map;
    descriptor: Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<TK;Lorg/apache/cassandra/cache/RefCountedMemory;>;

  private final org.apache.cassandra.io.ISerializer<V> serializer;
    descriptor: Lorg/apache/cassandra/io/ISerializer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/ISerializer<TV;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc Lorg/apache/cassandra/cache/SerializingCache;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.cache.SerializingCache.$assertionsDisabled:Z
         3: .line 41
            ldc Lorg/apache/cassandra/cache/SerializingCache;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.cache.SerializingCache.logger:Lorg/slf4j/Logger;
         4: .line 43
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(long, com.googlecode.concurrentlinkedhashmap.Weigher<org.apache.cassandra.cache.RefCountedMemory>, org.apache.cassandra.io.ISerializer<V>);
    descriptor: (JLcom/googlecode/concurrentlinkedhashmap/Weigher;Lorg/apache/cassandra/io/ISerializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // long capacity
        start local 3 // com.googlecode.concurrentlinkedhashmap.Weigher weigher
        start local 4 // org.apache.cassandra.io.ISerializer serializer
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 4 /* serializer */
            putfield org.apache.cassandra.cache.SerializingCache.serializer:Lorg/apache/cassandra/io/ISerializer;
         2: .line 52
            new org.apache.cassandra.cache.SerializingCache$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.cache.SerializingCache$1.<init>:(Lorg/apache/cassandra/cache/SerializingCache;)V
            astore 5 /* listener */
        start local 5 // com.googlecode.concurrentlinkedhashmap.EvictionListener listener
         3: .line 60
            aload 0 /* this */
            new com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder
            dup
            invokespecial com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.<init>:()V
         4: .line 61
            aload 3 /* weigher */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.weigher:(Lcom/googlecode/concurrentlinkedhashmap/Weigher;)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
         5: .line 62
            lload 1 /* capacity */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
         6: .line 63
            bipush 64
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.concurrencyLevel:(I)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
         7: .line 64
            aload 5 /* listener */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.listener:(Lcom/googlecode/concurrentlinkedhashmap/EvictionListener;)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
         8: .line 65
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build:()Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         9: .line 60
            putfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
        10: .line 66
            return
        end local 5 // com.googlecode.concurrentlinkedhashmap.EvictionListener listener
        end local 4 // org.apache.cassandra.io.ISerializer serializer
        end local 3 // com.googlecode.concurrentlinkedhashmap.Weigher weigher
        end local 1 // long capacity
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   11     1    capacity  J
            0   11     3     weigher  Lcom/googlecode/concurrentlinkedhashmap/Weigher<Lorg/apache/cassandra/cache/RefCountedMemory;>;
            0   11     4  serializer  Lorg/apache/cassandra/io/ISerializer<TV;>;
            3   11     5    listener  Lcom/googlecode/concurrentlinkedhashmap/EvictionListener<TK;Lorg/apache/cassandra/cache/RefCountedMemory;>;
    Signature: (JLcom/googlecode/concurrentlinkedhashmap/Weigher<Lorg/apache/cassandra/cache/RefCountedMemory;>;Lorg/apache/cassandra/io/ISerializer<TV;>;)V
    MethodParameters:
            Name  Flags
      capacity    
      weigher     
      serializer  

  public static <K, V> org.apache.cassandra.cache.SerializingCache<K, V> create(long, com.googlecode.concurrentlinkedhashmap.Weigher<org.apache.cassandra.cache.RefCountedMemory>, org.apache.cassandra.io.ISerializer<V>);
    descriptor: (JLcom/googlecode/concurrentlinkedhashmap/Weigher;Lorg/apache/cassandra/io/ISerializer;)Lorg/apache/cassandra/cache/SerializingCache;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // long weightedCapacity
        start local 2 // com.googlecode.concurrentlinkedhashmap.Weigher weigher
        start local 3 // org.apache.cassandra.io.ISerializer serializer
         0: .line 70
            new org.apache.cassandra.cache.SerializingCache
            dup
            lload 0 /* weightedCapacity */
            aload 2 /* weigher */
            aload 3 /* serializer */
            invokespecial org.apache.cassandra.cache.SerializingCache.<init>:(JLcom/googlecode/concurrentlinkedhashmap/Weigher;Lorg/apache/cassandra/io/ISerializer;)V
            areturn
        end local 3 // org.apache.cassandra.io.ISerializer serializer
        end local 2 // com.googlecode.concurrentlinkedhashmap.Weigher weigher
        end local 0 // long weightedCapacity
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  weightedCapacity  J
            0    1     2           weigher  Lcom/googlecode/concurrentlinkedhashmap/Weigher<Lorg/apache/cassandra/cache/RefCountedMemory;>;
            0    1     3        serializer  Lorg/apache/cassandra/io/ISerializer<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(JLcom/googlecode/concurrentlinkedhashmap/Weigher<Lorg/apache/cassandra/cache/RefCountedMemory;>;Lorg/apache/cassandra/io/ISerializer<TV;>;)Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
    MethodParameters:
                  Name  Flags
      weightedCapacity  
      weigher           
      serializer        

  public static <K, V> org.apache.cassandra.cache.SerializingCache<K, V> create(long, org.apache.cassandra.io.ISerializer<V>);
    descriptor: (JLorg/apache/cassandra/io/ISerializer;)Lorg/apache/cassandra/cache/SerializingCache;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long weightedCapacity
        start local 2 // org.apache.cassandra.io.ISerializer serializer
         0: .line 75
            lload 0 /* weightedCapacity */
            new org.apache.cassandra.cache.SerializingCache$2
            dup
            invokespecial org.apache.cassandra.cache.SerializingCache$2.<init>:()V
         1: .line 83
            aload 2 /* serializer */
         2: .line 75
            invokestatic org.apache.cassandra.cache.SerializingCache.create:(JLcom/googlecode/concurrentlinkedhashmap/Weigher;Lorg/apache/cassandra/io/ISerializer;)Lorg/apache/cassandra/cache/SerializingCache;
            areturn
        end local 2 // org.apache.cassandra.io.ISerializer serializer
        end local 0 // long weightedCapacity
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  weightedCapacity  J
            0    3     2        serializer  Lorg/apache/cassandra/io/ISerializer<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(JLorg/apache/cassandra/io/ISerializer<TV;>;)Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
    MethodParameters:
                  Name  Flags
      weightedCapacity  
      serializer        

  private V deserialize(org.apache.cassandra.cache.RefCountedMemory);
    descriptor: (Lorg/apache/cassandra/cache/RefCountedMemory;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // org.apache.cassandra.cache.RefCountedMemory mem
         0: .line 90
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.serializer:Lorg/apache/cassandra/io/ISerializer;
            new org.apache.cassandra.io.util.MemoryInputStream
            dup
            aload 1 /* mem */
            invokespecial org.apache.cassandra.io.util.MemoryInputStream.<init>:(Lorg/apache/cassandra/io/util/Memory;)V
            invokeinterface org.apache.cassandra.io.ISerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/lang/Object;
         1: areturn
         2: .line 92
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 94
            getstatic org.apache.cassandra.cache.SerializingCache.logger:Lorg/slf4j/Logger;
            ldc "Cannot fetch in memory data, we will fallback to read from disk "
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 95
            aconst_null
            areturn
        end local 2 // java.io.IOException e
        end local 1 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0    5     1   mem  Lorg/apache/cassandra/cache/RefCountedMemory;
            3    5     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Signature: (Lorg/apache/cassandra/cache/RefCountedMemory;)TV;
    MethodParameters:
      Name  Flags
      mem   

  private org.apache.cassandra.cache.RefCountedMemory serialize(V);
    descriptor: (Ljava/lang/Object;)Lorg/apache/cassandra/cache/RefCountedMemory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object value
         0: .line 101
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.serializer:Lorg/apache/cassandra/io/ISerializer;
            aload 1 /* value */
            invokeinterface org.apache.cassandra.io.ISerializer.serializedSize:(Ljava/lang/Object;)J
            lstore 2 /* serializedSize */
        start local 2 // long serializedSize
         1: .line 102
            lload 2 /* serializedSize */
            ldc 2147483647
            lcmp
            ifle 3
         2: .line 103
            new java.lang.IllegalArgumentException
            dup
            ldc "Unable to allocate %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* serializedSize */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 108
      StackMap locals: long
      StackMap stack:
            new org.apache.cassandra.cache.RefCountedMemory
            dup
            lload 2 /* serializedSize */
            invokespecial org.apache.cassandra.cache.RefCountedMemory.<init>:(J)V
            astore 4 /* freeableMemory */
        start local 4 // org.apache.cassandra.cache.RefCountedMemory freeableMemory
         4: .line 109
            goto 7
        end local 4 // org.apache.cassandra.cache.RefCountedMemory freeableMemory
         5: .line 110
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
            pop
         6: .line 112
            aconst_null
            areturn
        start local 4 // org.apache.cassandra.cache.RefCountedMemory freeableMemory
         7: .line 117
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.serializer:Lorg/apache/cassandra/io/ISerializer;
            aload 1 /* value */
            new org.apache.cassandra.io.util.WrappedDataOutputStreamPlus
            dup
            new org.apache.cassandra.io.util.MemoryOutputStream
            dup
            aload 4 /* freeableMemory */
            invokespecial org.apache.cassandra.io.util.MemoryOutputStream.<init>:(Lorg/apache/cassandra/io/util/Memory;)V
            invokespecial org.apache.cassandra.io.util.WrappedDataOutputStreamPlus.<init>:(Ljava/io/OutputStream;)V
            invokeinterface org.apache.cassandra.io.ISerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
         8: .line 118
            goto 12
         9: .line 119
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        10: .line 121
            aload 4 /* freeableMemory */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        11: .line 122
            new java.lang.RuntimeException
            dup
            aload 5 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        12: .line 124
      StackMap locals:
      StackMap stack:
            aload 4 /* freeableMemory */
            areturn
        end local 4 // org.apache.cassandra.cache.RefCountedMemory freeableMemory
        end local 2 // long serializedSize
        end local 1 // java.lang.Object value
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   13     1           value  TV;
            1   13     2  serializedSize  J
            4    5     4  freeableMemory  Lorg/apache/cassandra/cache/RefCountedMemory;
            7   13     4  freeableMemory  Lorg/apache/cassandra/cache/RefCountedMemory;
           10   12     5               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.OutOfMemoryError
           7     8       9  Class java.io.IOException
    Signature: (TV;)Lorg/apache/cassandra/cache/RefCountedMemory;
    MethodParameters:
       Name  Flags
      value  

  public long capacity();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 129
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.capacity:()J
            lreturn
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;

  public void setCapacity(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // long capacity
         0: .line 134
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            lload 1 /* capacity */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.setCapacity:(J)V
         1: .line 135
            return
        end local 1 // long capacity
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0    2     1  capacity  J
    MethodParameters:
          Name  Flags
      capacity  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 139
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.isEmpty:()Z
            ireturn
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 144
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.size:()I
            ireturn
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;

  public long weightedSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 149
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.weightedSize:()J
            lreturn
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 154
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.clear:()V
         1: .line 155
            return
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;

  public V get();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
         0: .line 160
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.cache.RefCountedMemory
            astore 2 /* mem */
        start local 2 // org.apache.cassandra.cache.RefCountedMemory mem
         1: .line 161
            aload 2 /* mem */
            ifnonnull 3
         2: .line 162
            aconst_null
            areturn
         3: .line 163
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 2 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.reference:()Z
            ifne 5
         4: .line 164
            aconst_null
            areturn
         5: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mem */
            invokevirtual org.apache.cassandra.cache.SerializingCache.deserialize:(Lorg/apache/cassandra/cache/RefCountedMemory;)Ljava/lang/Object;
            astore 4
         6: .line 171
            aload 2 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
         7: .line 167
            aload 4
            areturn
         8: .line 170
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         9: .line 171
            aload 2 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        10: .line 172
            aload 3
            athrow
        end local 2 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   11     1   key  TK;
            1   11     2   mem  Lorg/apache/cassandra/cache/RefCountedMemory;
      Exception table:
        from    to  target  type
           5     6       8  any
    Signature: (TK;)TV;
    MethodParameters:
      Name  Flags
      key   

  public void put(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 178
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.apache.cassandra.cache.SerializingCache.serialize:(Ljava/lang/Object;)Lorg/apache/cassandra/cache/RefCountedMemory;
            astore 3 /* mem */
        start local 3 // org.apache.cassandra.cache.RefCountedMemory mem
         1: .line 179
            aload 3 /* mem */
            ifnonnull 3
         2: .line 180
            return
         3: .line 185
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            aload 3 /* mem */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.cache.RefCountedMemory
            astore 4 /* old */
        start local 4 // org.apache.cassandra.cache.RefCountedMemory old
         4: .line 186
            goto 8
        end local 4 // org.apache.cassandra.cache.RefCountedMemory old
         5: .line 187
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
         6: .line 189
            aload 3 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
         7: .line 190
            aload 5 /* t */
            athrow
        end local 5 // java.lang.Throwable t
        start local 4 // org.apache.cassandra.cache.RefCountedMemory old
         8: .line 193
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 4 /* old */
            ifnull 10
         9: .line 194
            aload 4 /* old */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        10: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.cassandra.cache.RefCountedMemory old
        end local 3 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   11     1    key  TK;
            0   11     2  value  TV;
            1   11     3    mem  Lorg/apache/cassandra/cache/RefCountedMemory;
            4    5     4    old  Lorg/apache/cassandra/cache/RefCountedMemory;
            8   11     4    old  Lorg/apache/cassandra/cache/RefCountedMemory;
            6    8     5      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Signature: (TK;TV;)V
    MethodParameters:
       Name  Flags
      key    
      value  

  public boolean putIfAbsent(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 200
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.apache.cassandra.cache.SerializingCache.serialize:(Ljava/lang/Object;)Lorg/apache/cassandra/cache/RefCountedMemory;
            astore 3 /* mem */
        start local 3 // org.apache.cassandra.cache.RefCountedMemory mem
         1: .line 201
            aload 3 /* mem */
            ifnonnull 3
         2: .line 202
            iconst_0
            ireturn
         3: .line 207
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            aload 3 /* mem */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.cache.RefCountedMemory
            astore 4 /* old */
        start local 4 // org.apache.cassandra.cache.RefCountedMemory old
         4: .line 208
            goto 8
        end local 4 // org.apache.cassandra.cache.RefCountedMemory old
         5: .line 209
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
         6: .line 211
            aload 3 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
         7: .line 212
            aload 5 /* t */
            athrow
        end local 5 // java.lang.Throwable t
        start local 4 // org.apache.cassandra.cache.RefCountedMemory old
         8: .line 215
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 4 /* old */
            ifnull 10
         9: .line 217
            aload 3 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        10: .line 218
      StackMap locals:
      StackMap stack:
            aload 4 /* old */
            ifnonnull 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 4 // org.apache.cassandra.cache.RefCountedMemory old
        end local 3 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   12     1    key  TK;
            0   12     2  value  TV;
            1   12     3    mem  Lorg/apache/cassandra/cache/RefCountedMemory;
            4    5     4    old  Lorg/apache/cassandra/cache/RefCountedMemory;
            8   12     4    old  Lorg/apache/cassandra/cache/RefCountedMemory;
            6    8     5      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Signature: (TK;TV;)Z
    MethodParameters:
       Name  Flags
      key    
      value  

  public boolean replace(K, V, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object oldToReplace
        start local 3 // java.lang.Object value
         0: .line 225
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.cache.RefCountedMemory
            astore 4 /* old */
        start local 4 // org.apache.cassandra.cache.RefCountedMemory old
         1: .line 226
            aload 4 /* old */
            ifnonnull 3
         2: .line 227
            iconst_0
            ireturn
         3: .line 231
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 4 /* old */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.reference:()Z
            ifne 5
         4: .line 232
            iconst_0
            ireturn
         5: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* old */
            invokevirtual org.apache.cassandra.cache.SerializingCache.deserialize:(Lorg/apache/cassandra/cache/RefCountedMemory;)Ljava/lang/Object;
            astore 5 /* oldValue */
        start local 5 // java.lang.Object oldValue
         6: .line 235
            aload 4 /* old */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
         7: .line 237
            aload 5 /* oldValue */
            aload 2 /* oldToReplace */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 238
            iconst_0
            ireturn
         9: .line 241
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual org.apache.cassandra.cache.SerializingCache.serialize:(Ljava/lang/Object;)Lorg/apache/cassandra/cache/RefCountedMemory;
            astore 6 /* mem */
        start local 6 // org.apache.cassandra.cache.RefCountedMemory mem
        10: .line 242
            aload 6 /* mem */
            ifnonnull 12
        11: .line 243
            iconst_0
            ireturn
        12: .line 248
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            aload 4 /* old */
            aload 6 /* mem */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 7 /* success */
        start local 7 // boolean success
        13: .line 249
            goto 17
        end local 7 // boolean success
        14: .line 250
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        15: .line 252
            aload 6 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        16: .line 253
            aload 8 /* t */
            athrow
        end local 8 // java.lang.Throwable t
        start local 7 // boolean success
        17: .line 256
      StackMap locals: int
      StackMap stack:
            iload 7 /* success */
            ifeq 19
        18: .line 257
            aload 4 /* old */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
            goto 20
        19: .line 259
      StackMap locals:
      StackMap stack:
            aload 6 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
        20: .line 260
      StackMap locals:
      StackMap stack:
            iload 7 /* success */
            ireturn
        end local 7 // boolean success
        end local 6 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 5 // java.lang.Object oldValue
        end local 4 // org.apache.cassandra.cache.RefCountedMemory old
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object oldToReplace
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0   21     1           key  TK;
            0   21     2  oldToReplace  TV;
            0   21     3         value  TV;
            1   21     4           old  Lorg/apache/cassandra/cache/RefCountedMemory;
            6   21     5      oldValue  TV;
           10   21     6           mem  Lorg/apache/cassandra/cache/RefCountedMemory;
           13   14     7       success  Z
           17   21     7       success  Z
           15   17     8             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    13      14  Class java.lang.Throwable
    Signature: (TK;TV;TV;)Z
    MethodParameters:
              Name  Flags
      key           
      oldToReplace  
      value         

  public void remove();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
         0: .line 266
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.cache.RefCountedMemory
            astore 2 /* mem */
        start local 2 // org.apache.cassandra.cache.RefCountedMemory mem
         1: .line 267
            aload 2 /* mem */
            ifnull 3
         2: .line 268
            aload 2 /* mem */
            invokevirtual org.apache.cassandra.cache.RefCountedMemory.unreference:()V
         3: .line 269
      StackMap locals: org.apache.cassandra.cache.RefCountedMemory
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.cache.RefCountedMemory mem
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0    4     1   key  TK;
            1    4     2   mem  Lorg/apache/cassandra/cache/RefCountedMemory;
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  public java.util.Iterator<K> keyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cache.SerializingCache this
         0: .line 273
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
    Signature: ()Ljava/util/Iterator<TK;>;

  public java.util.Iterator<K> hotKeyIterator(int);
    descriptor: (I)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // int n
         0: .line 278
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            iload 1 /* n */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.descendingKeySetWithLimit:(I)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 1 // int n
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0    1     1     n  I
    Signature: (I)Ljava/util/Iterator<TK;>;
    MethodParameters:
      Name  Flags
      n     

  public boolean containsKey();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cache.SerializingCache this
        start local 1 // java.lang.Object key
         0: .line 283
            aload 0 /* this */
            getfield org.apache.cassandra.cache.SerializingCache.map:Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.apache.cassandra.cache.SerializingCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cache/SerializingCache<TK;TV;>;
            0    1     1   key  TK;
    Signature: (TK;)Z
    MethodParameters:
      Name  Flags
      key   
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lorg/apache/cassandra/cache/ICache<TK;TV;>;
SourceFile: "SerializingCache.java"
NestMembers:
  org.apache.cassandra.cache.SerializingCache$1  org.apache.cassandra.cache.SerializingCache$2
InnerClasses:
  public final Builder = com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder of com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap
  org.apache.cassandra.cache.SerializingCache$1
  org.apache.cassandra.cache.SerializingCache$2