public class org.apache.cassandra.service.CacheService$KeyCacheSerializer implements org.apache.cassandra.cache.AutoSavingCache$CacheSerializer<org.apache.cassandra.cache.KeyCacheKey, org.apache.cassandra.db.RowIndexEntry>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.service.CacheService$KeyCacheSerializer
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
         0: .line 441
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/CacheService$KeyCacheSerializer;

  public void serialize(org.apache.cassandra.cache.KeyCacheKey, org.apache.cassandra.io.util.DataOutputPlus, org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/cache/KeyCacheKey;Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
        start local 1 // org.apache.cassandra.cache.KeyCacheKey key
        start local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 447
            aload 1 /* key */
            getfield org.apache.cassandra.cache.KeyCacheKey.desc:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
            invokevirtual org.apache.cassandra.io.sstable.format.Version.storeRows:()Z
            ifne 1
            return
         1: .line 449
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CacheService.instance:Lorg/apache/cassandra/service/CacheService;
            getfield org.apache.cassandra.service.CacheService.keyCache:Lorg/apache/cassandra/cache/AutoSavingCache;
            aload 1 /* key */
            invokevirtual org.apache.cassandra.cache.AutoSavingCache.getInternal:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.RowIndexEntry
            astore 4 /* entry */
        start local 4 // org.apache.cassandra.db.RowIndexEntry entry
         2: .line 450
            aload 4 /* entry */
            ifnonnull 4
         3: .line 451
            return
         4: .line 453
      StackMap locals: org.apache.cassandra.db.RowIndexEntry
      StackMap stack:
            aload 2 /* out */
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.ksAndCFBytes:[B
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.write:([B)V
         5: .line 454
            aload 1 /* key */
            getfield org.apache.cassandra.cache.KeyCacheKey.key:[B
            aload 2 /* out */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.writeWithLength:([BLjava/io/DataOutput;)V
         6: .line 455
            aload 2 /* out */
            aload 1 /* key */
            getfield org.apache.cassandra.cache.KeyCacheKey.desc:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.generation:I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         7: .line 456
            aload 2 /* out */
            iconst_1
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeBoolean:(Z)V
         8: .line 458
            new org.apache.cassandra.db.SerializationHeader
            dup
            iconst_0
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionColumns:()Lorg/apache/cassandra/db/PartitionColumns;
            getstatic org.apache.cassandra.db.rows.EncodingStats.NO_STATS:Lorg/apache/cassandra/db/rows/EncodingStats;
            invokespecial org.apache.cassandra.db.SerializationHeader.<init>:(ZLorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/PartitionColumns;Lorg/apache/cassandra/db/rows/EncodingStats;)V
            astore 5 /* header */
        start local 5 // org.apache.cassandra.db.SerializationHeader header
         9: .line 459
            aload 1 /* key */
            getfield org.apache.cassandra.cache.KeyCacheKey.desc:Lorg/apache/cassandra/io/sstable/Descriptor;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.getFormat:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* key */
            getfield org.apache.cassandra.cache.KeyCacheKey.desc:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
            aload 5 /* header */
            invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getIndexSerializer:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/format/Version;Lorg/apache/cassandra/db/SerializationHeader;)Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
            aload 4 /* entry */
            aload 2 /* out */
            invokeinterface org.apache.cassandra.db.RowIndexEntry$IndexSerializer.serializeForCache:(Lorg/apache/cassandra/db/RowIndexEntry;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        10: .line 460
            return
        end local 5 // org.apache.cassandra.db.SerializationHeader header
        end local 4 // org.apache.cassandra.db.RowIndexEntry entry
        end local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 1 // org.apache.cassandra.cache.KeyCacheKey key
        end local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/cassandra/service/CacheService$KeyCacheSerializer;
            0   11     1     key  Lorg/apache/cassandra/cache/KeyCacheKey;
            0   11     2     out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0   11     3     cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            2   11     4   entry  Lorg/apache/cassandra/db/RowIndexEntry;
            9   11     5  header  Lorg/apache/cassandra/db/SerializationHeader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   
      out   
      cfs   

  public java.util.concurrent.Future<org.apache.cassandra.utils.Pair<org.apache.cassandra.cache.KeyCacheKey, org.apache.cassandra.db.RowIndexEntry>> deserialize(org.apache.cassandra.io.util.DataInputPlus, org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
        start local 1 // org.apache.cassandra.io.util.DataInputPlus input
        start local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 466
            aload 1 /* input */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readInt:()I
            istore 3 /* keyLength */
        start local 3 // int keyLength
         1: .line 467
            iload 3 /* keyLength */
            ldc 65535
            if_icmple 5
         2: .line 469
            new java.io.IOException
            dup
            ldc "Corrupted key cache. Key length of %d is longer than maximum of %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 470
            iload 3 /* keyLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc 65535
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         4: .line 469
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 472
      StackMap locals: int
      StackMap stack:
            aload 1 /* input */
            iload 3 /* keyLength */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.read:(Ljava/io/DataInput;I)Ljava/nio/ByteBuffer;
            astore 4 /* key */
        start local 4 // java.nio.ByteBuffer key
         6: .line 473
            aload 1 /* input */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readInt:()I
            istore 5 /* generation */
        start local 5 // int generation
         7: .line 474
            aload 1 /* input */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readBoolean:()Z
            pop
         8: .line 476
            aload 2 /* cfs */
            ifnull 10
            aload 2 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isKeyCacheEnabled:()Z
            ifeq 10
            aload 0 /* this */
            iload 5 /* generation */
            aload 2 /* cfs */
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.CANONICAL:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTables:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Ljava/lang/Iterable;
            invokevirtual org.apache.cassandra.service.CacheService$KeyCacheSerializer.findDesc:(ILjava/lang/Iterable;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            dup
            astore 6 /* reader */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         9: ifnonnull 12
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        10: .line 482
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            aload 1 /* input */
            getstatic org.apache.cassandra.io.sstable.format.big.BigFormat.instance:Lorg/apache/cassandra/io/sstable/format/big/BigFormat;
            invokevirtual org.apache.cassandra.io.sstable.format.big.BigFormat.getLatestVersion:()Lorg/apache/cassandra/io/sstable/format/Version;
            invokestatic org.apache.cassandra.db.RowIndexEntry$Serializer.skipForCache:(Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/io/sstable/format/Version;)V
        11: .line 483
            aconst_null
            areturn
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        12: .line 485
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            aload 6 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.getFormat:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
            aload 6 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.metadata:Lorg/apache/cassandra/config/CFMetaData;
        13: .line 486
            aload 6 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
        14: .line 487
            aload 6 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.header:Lorg/apache/cassandra/db/SerializationHeader;
        15: .line 485
            invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getIndexSerializer:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/format/Version;Lorg/apache/cassandra/db/SerializationHeader;)Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
            astore 7 /* indexSerializer */
        start local 7 // org.apache.cassandra.db.RowIndexEntry$IndexSerializer indexSerializer
        16: .line 488
            aload 7 /* indexSerializer */
            aload 1 /* input */
            invokeinterface org.apache.cassandra.db.RowIndexEntry$IndexSerializer.deserializeForCache:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/db/RowIndexEntry;
            astore 8 /* entry */
        start local 8 // org.apache.cassandra.db.RowIndexEntry entry
        17: .line 489
            new org.apache.cassandra.cache.KeyCacheKey
            dup
            aload 2 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.ksAndCFName:Lorg/apache/cassandra/utils/Pair;
            aload 6 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            aload 4 /* key */
            invokespecial org.apache.cassandra.cache.KeyCacheKey.<init>:(Lorg/apache/cassandra/utils/Pair;Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/nio/ByteBuffer;)V
            aload 8 /* entry */
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            invokestatic com.google.common.util.concurrent.Futures.immediateFuture:(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 8 // org.apache.cassandra.db.RowIndexEntry entry
        end local 7 // org.apache.cassandra.db.RowIndexEntry$IndexSerializer indexSerializer
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        end local 5 // int generation
        end local 4 // java.nio.ByteBuffer key
        end local 3 // int keyLength
        end local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 1 // org.apache.cassandra.io.util.DataInputPlus input
        end local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/apache/cassandra/service/CacheService$KeyCacheSerializer;
            0   18     1            input  Lorg/apache/cassandra/io/util/DataInputPlus;
            0   18     2              cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            1   18     3        keyLength  I
            6   18     4              key  Ljava/nio/ByteBuffer;
            7   18     5       generation  I
            9   10     6           reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           12   18     6           reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           16   18     7  indexSerializer  Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer<*>;
           17   18     8            entry  Lorg/apache/cassandra/db/RowIndexEntry<*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)Ljava/util/concurrent/Future<Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cache/KeyCacheKey;Lorg/apache/cassandra/db/RowIndexEntry;>;>;
    MethodParameters:
       Name  Flags
      input  
      cfs    

  private org.apache.cassandra.io.sstable.format.SSTableReader findDesc(int, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (ILjava/lang/Iterable;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
        start local 1 // int generation
        start local 2 // java.lang.Iterable collection
         0: .line 494
            aload 2 /* collection */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.service.CacheService$KeyCacheSerializer int java.lang.Iterable top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 3 /* sstable */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         2: .line 496
            aload 3 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.generation:I
            iload 1 /* generation */
            if_icmpne 4
         3: .line 497
            aload 3 /* sstable */
            areturn
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 494
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 499
            aconst_null
            areturn
        end local 2 // java.lang.Iterable collection
        end local 1 // int generation
        end local 0 // org.apache.cassandra.service.CacheService$KeyCacheSerializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/cassandra/service/CacheService$KeyCacheSerializer;
            0    6     1  generation  I
            0    6     2  collection  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            2    4     3     sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (ILjava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
            Name  Flags
      generation  
      collection  

  public void serialize(org.apache.cassandra.cache.CacheKey, org.apache.cassandra.io.util.DataOutputPlus, org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/cache/CacheKey;Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.cache.KeyCacheKey
            aload 2
            aload 3
            invokevirtual org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize:(Lorg/apache/cassandra/cache/KeyCacheKey;Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer<Lorg/apache/cassandra/cache/KeyCacheKey;Lorg/apache/cassandra/db/RowIndexEntry;>;
SourceFile: "CacheService.java"
NestHost: org.apache.cassandra.service.CacheService
InnerClasses:
  public abstract CacheSerializer = org.apache.cassandra.cache.AutoSavingCache$CacheSerializer of org.apache.cassandra.cache.AutoSavingCache
  public abstract IndexSerializer = org.apache.cassandra.db.RowIndexEntry$IndexSerializer of org.apache.cassandra.db.RowIndexEntry
  public final Serializer = org.apache.cassandra.db.RowIndexEntry$Serializer of org.apache.cassandra.db.RowIndexEntry
  public KeyCacheSerializer = org.apache.cassandra.service.CacheService$KeyCacheSerializer of org.apache.cassandra.service.CacheService