public class org.apache.cassandra.db.RowIndexEntry<T> implements org.apache.cassandra.cache.IMeasurableMemory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.RowIndexEntry
  super_class: java.lang.Object
{
  private static final long EMPTY_SIZE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final int CACHE_NOT_INDEXED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int CACHE_INDEXED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int CACHE_INDEXED_SHALLOW;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final com.codahale.metrics.Histogram indexEntrySizeHistogram;
    descriptor: Lcom/codahale/metrics/Histogram;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.codahale.metrics.Histogram indexInfoCountHistogram;
    descriptor: Lcom/codahale/metrics/Histogram;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.codahale.metrics.Histogram indexInfoGetsHistogram;
    descriptor: Lcom/codahale/metrics/Histogram;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public final long position;
    descriptor: J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 132
            new org.apache.cassandra.db.RowIndexEntry
            dup
            lconst_0
            invokespecial org.apache.cassandra.db.RowIndexEntry.<init>:(J)V
            invokestatic org.apache.cassandra.utils.ObjectSizes.measure:(Ljava/lang/Object;)J
            putstatic org.apache.cassandra.db.RowIndexEntry.EMPTY_SIZE:J
         1: .line 144
            new org.apache.cassandra.metrics.DefaultNameFactory
            dup
            ldc "Index"
            ldc "RowIndexEntry"
            invokespecial org.apache.cassandra.metrics.DefaultNameFactory.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 0 /* factory */
        start local 0 // org.apache.cassandra.metrics.MetricNameFactory factory
         2: .line 145
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            aload 0 /* factory */
            ldc "IndexedEntrySize"
            invokeinterface org.apache.cassandra.metrics.MetricNameFactory.createMetricName:(Ljava/lang/String;)Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;
            iconst_0
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.histogram:(Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;Z)Lcom/codahale/metrics/Histogram;
            putstatic org.apache.cassandra.db.RowIndexEntry.indexEntrySizeHistogram:Lcom/codahale/metrics/Histogram;
         3: .line 146
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            aload 0 /* factory */
            ldc "IndexInfoCount"
            invokeinterface org.apache.cassandra.metrics.MetricNameFactory.createMetricName:(Ljava/lang/String;)Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;
            iconst_0
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.histogram:(Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;Z)Lcom/codahale/metrics/Histogram;
            putstatic org.apache.cassandra.db.RowIndexEntry.indexInfoCountHistogram:Lcom/codahale/metrics/Histogram;
         4: .line 147
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            aload 0 /* factory */
            ldc "IndexInfoGets"
            invokeinterface org.apache.cassandra.metrics.MetricNameFactory.createMetricName:(Ljava/lang/String;)Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;
            iconst_0
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.histogram:(Lorg/apache/cassandra/metrics/CassandraMetricsRegistry$MetricName;Z)Lcom/codahale/metrics/Histogram;
            putstatic org.apache.cassandra.db.RowIndexEntry.indexInfoGetsHistogram:Lcom/codahale/metrics/Histogram;
        end local 0 // org.apache.cassandra.metrics.MetricNameFactory factory
         5: .line 148
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2    5     0  factory  Lorg/apache/cassandra/metrics/MetricNameFactory;

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
        start local 1 // long position
         0: .line 152
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 154
            aload 0 /* this */
            lload 1 /* position */
            putfield org.apache.cassandra.db.RowIndexEntry.position:J
         2: .line 155
            return
        end local 1 // long position
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;
            0    3     1  position  J
    MethodParameters:
          Name  Flags
      position  

  public boolean isIndexed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 163
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.RowIndexEntry.columnsIndexCount:()I
            iconst_1
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public boolean indexOnHeap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 168
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public org.apache.cassandra.db.DeletionTime deletionTime();
    descriptor: ()Lorg/apache/cassandra/db/DeletionTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 173
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public long headerLength();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 183
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public int columnsIndexCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 188
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public long unsharedHeapSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
         0: .line 193
            getstatic org.apache.cassandra.db.RowIndexEntry.EMPTY_SIZE:J
            lreturn
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;

  public static org.apache.cassandra.db.RowIndexEntry<org.apache.cassandra.io.sstable.IndexInfo> create(long, long, org.apache.cassandra.db.DeletionTime, long, int, int, java.util.List<org.apache.cassandra.io.sstable.IndexInfo>, int[], org.apache.cassandra.io.ISerializer<org.apache.cassandra.io.sstable.IndexInfo>);
    descriptor: (JJLorg/apache/cassandra/db/DeletionTime;JIILjava/util/List;[ILorg/apache/cassandra/io/ISerializer;)Lorg/apache/cassandra/db/RowIndexEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=12, args_size=9
        start local 0 // long dataFilePosition
        start local 2 // long indexFilePosition
        start local 4 // org.apache.cassandra.db.DeletionTime deletionTime
        start local 5 // long headerLength
        start local 7 // int columnIndexCount
        start local 8 // int indexedPartSize
        start local 9 // java.util.List indexSamples
        start local 10 // int[] offsets
        start local 11 // org.apache.cassandra.io.ISerializer idxInfoSerializer
         0: .line 217
            aload 9 /* indexSamples */
            ifnull 5
            aload 9 /* indexSamples */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 5
         1: .line 218
            new org.apache.cassandra.db.RowIndexEntry$IndexedEntry
            dup
            lload 0 /* dataFilePosition */
            aload 4 /* deletionTime */
            lload 5 /* headerLength */
         2: .line 219
            aload 9 /* indexSamples */
            aload 9 /* indexSamples */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.cassandra.io.sstable.IndexInfo
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.IndexInfo[]
            aload 10 /* offsets */
         3: .line 220
            iload 8 /* indexedPartSize */
            aload 11 /* idxInfoSerializer */
         4: .line 218
            invokespecial org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>:(JLorg/apache/cassandra/db/DeletionTime;J[Lorg/apache/cassandra/io/sstable/IndexInfo;[IILorg/apache/cassandra/io/ISerializer;)V
            areturn
         5: .line 224
      StackMap locals:
      StackMap stack:
            iload 7 /* columnIndexCount */
            iconst_1
            if_icmple 10
         6: .line 225
            new org.apache.cassandra.db.RowIndexEntry$ShallowIndexedEntry
            dup
            lload 0 /* dataFilePosition */
            lload 2 /* indexFilePosition */
         7: .line 226
            aload 4 /* deletionTime */
            lload 5 /* headerLength */
            iload 7 /* columnIndexCount */
         8: .line 227
            iload 8 /* indexedPartSize */
            aload 11 /* idxInfoSerializer */
         9: .line 225
            invokespecial org.apache.cassandra.db.RowIndexEntry$ShallowIndexedEntry.<init>:(JJLorg/apache/cassandra/db/DeletionTime;JIILorg/apache/cassandra/io/ISerializer;)V
            areturn
        10: .line 229
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.RowIndexEntry
            dup
            lload 0 /* dataFilePosition */
            invokespecial org.apache.cassandra.db.RowIndexEntry.<init>:(J)V
            areturn
        end local 11 // org.apache.cassandra.io.ISerializer idxInfoSerializer
        end local 10 // int[] offsets
        end local 9 // java.util.List indexSamples
        end local 8 // int indexedPartSize
        end local 7 // int columnIndexCount
        end local 5 // long headerLength
        end local 4 // org.apache.cassandra.db.DeletionTime deletionTime
        end local 2 // long indexFilePosition
        end local 0 // long dataFilePosition
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0   dataFilePosition  J
            0   11     2  indexFilePosition  J
            0   11     4       deletionTime  Lorg/apache/cassandra/db/DeletionTime;
            0   11     5       headerLength  J
            0   11     7   columnIndexCount  I
            0   11     8    indexedPartSize  I
            0   11     9       indexSamples  Ljava/util/List<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
            0   11    10            offsets  [I
            0   11    11  idxInfoSerializer  Lorg/apache/cassandra/io/ISerializer<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
    Signature: (JJLorg/apache/cassandra/db/DeletionTime;JIILjava/util/List<Lorg/apache/cassandra/io/sstable/IndexInfo;>;[ILorg/apache/cassandra/io/ISerializer<Lorg/apache/cassandra/io/sstable/IndexInfo;>;)Lorg/apache/cassandra/db/RowIndexEntry<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
    MethodParameters:
                   Name  Flags
      dataFilePosition   
      indexFilePosition  
      deletionTime       
      headerLength       
      columnIndexCount   
      indexedPartSize    
      indexSamples       
      offsets            
      idxInfoSerializer  

  public org.apache.cassandra.db.RowIndexEntry$IndexInfoRetriever openWithIndex(org.apache.cassandra.io.util.FileHandle);
    descriptor: (Lorg/apache/cassandra/io/util/FileHandle;)Lorg/apache/cassandra/db/RowIndexEntry$IndexInfoRetriever;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
        start local 1 // org.apache.cassandra.io.util.FileHandle indexFile
         0: .line 234
            aconst_null
            areturn
        end local 1 // org.apache.cassandra.io.util.FileHandle indexFile
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;
            0    1     1  indexFile  Lorg/apache/cassandra/io/util/FileHandle;
    MethodParameters:
           Name  Flags
      indexFile  

  private static int serializedSize(org.apache.cassandra.db.DeletionTime, long, int);
    descriptor: (Lorg/apache/cassandra/db/DeletionTime;JI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.DeletionTime deletionTime
        start local 1 // long headerLength
        start local 3 // int columnIndexCount
         0: .line 397
            lload 1 /* headerLength */
            invokestatic org.apache.cassandra.db.TypeSizes.sizeofUnsignedVInt:(J)I
         1: .line 398
            getstatic org.apache.cassandra.db.DeletionTime.serializer:Lorg/apache/cassandra/db/DeletionTime$Serializer;
            aload 0 /* deletionTime */
            invokevirtual org.apache.cassandra.db.DeletionTime$Serializer.serializedSize:(Lorg/apache/cassandra/db/DeletionTime;)J
            l2i
         2: .line 397
            iadd
         3: .line 399
            iload 3 /* columnIndexCount */
            i2l
            invokestatic org.apache.cassandra.db.TypeSizes.sizeofUnsignedVInt:(J)I
         4: .line 397
            iadd
            ireturn
        end local 3 // int columnIndexCount
        end local 1 // long headerLength
        end local 0 // org.apache.cassandra.db.DeletionTime deletionTime
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0      deletionTime  Lorg/apache/cassandra/db/DeletionTime;
            0    5     1      headerLength  J
            0    5     3  columnIndexCount  I
    MethodParameters:
                  Name  Flags
      deletionTime      
      headerLength      
      columnIndexCount  

  public void serialize(org.apache.cassandra.io.util.DataOutputPlus, org.apache.cassandra.io.sstable.IndexInfo$Serializer, java.nio.ByteBuffer);
    descriptor: (Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/io/sstable/IndexInfo$Serializer;Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
        start local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 2 // org.apache.cassandra.io.sstable.IndexInfo$Serializer idxInfoSerializer
        start local 3 // java.nio.ByteBuffer indexInfo
         0: .line 404
            aload 1 /* out */
            aload 0 /* this */
            getfield org.apache.cassandra.db.RowIndexEntry.position:J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUnsignedVInt:(J)V
         1: .line 406
            aload 1 /* out */
            lconst_0
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUnsignedVInt:(J)V
         2: .line 407
            return
        end local 3 // java.nio.ByteBuffer indexInfo
        end local 2 // org.apache.cassandra.io.sstable.IndexInfo$Serializer idxInfoSerializer
        end local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;
            0    3     1                out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0    3     2  idxInfoSerializer  Lorg/apache/cassandra/io/sstable/IndexInfo$Serializer;
            0    3     3          indexInfo  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      out                
      idxInfoSerializer  
      indexInfo          

  public void serializeForCache(org.apache.cassandra.io.util.DataOutputPlus);
    descriptor: (Lorg/apache/cassandra/io/util/DataOutputPlus;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.RowIndexEntry this
        start local 1 // org.apache.cassandra.io.util.DataOutputPlus out
         0: .line 411
            aload 1 /* out */
            aload 0 /* this */
            getfield org.apache.cassandra.db.RowIndexEntry.position:J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUnsignedVInt:(J)V
         1: .line 413
            aload 1 /* out */
            iconst_0
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeByte:(I)V
         2: .line 414
            return
        end local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 0 // org.apache.cassandra.db.RowIndexEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/db/RowIndexEntry<TT;>;
            0    3     1   out  Lorg/apache/cassandra/io/util/DataOutputPlus;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/apache/cassandra/cache/IMeasurableMemory;
SourceFile: "RowIndexEntry.java"
NestMembers:
  org.apache.cassandra.db.RowIndexEntry$FileIndexInfoRetriever  org.apache.cassandra.db.RowIndexEntry$IndexInfoRetriever  org.apache.cassandra.db.RowIndexEntry$IndexSerializer  org.apache.cassandra.db.RowIndexEntry$IndexedEntry  org.apache.cassandra.db.RowIndexEntry$IndexedEntry$1  org.apache.cassandra.db.RowIndexEntry$LegacyIndexInfoRetriever  org.apache.cassandra.db.RowIndexEntry$LegacyShallowIndexedEntry  org.apache.cassandra.db.RowIndexEntry$Serializer  org.apache.cassandra.db.RowIndexEntry$ShallowIndexedEntry  org.apache.cassandra.db.RowIndexEntry$ShallowInfoRetriever
InnerClasses:
  public Serializer = org.apache.cassandra.db.DeletionTime$Serializer of org.apache.cassandra.db.DeletionTime
  private abstract FileIndexInfoRetriever = org.apache.cassandra.db.RowIndexEntry$FileIndexInfoRetriever of org.apache.cassandra.db.RowIndexEntry
  public abstract IndexInfoRetriever = org.apache.cassandra.db.RowIndexEntry$IndexInfoRetriever of org.apache.cassandra.db.RowIndexEntry
  public abstract IndexSerializer = org.apache.cassandra.db.RowIndexEntry$IndexSerializer of org.apache.cassandra.db.RowIndexEntry
  private final IndexedEntry = org.apache.cassandra.db.RowIndexEntry$IndexedEntry of org.apache.cassandra.db.RowIndexEntry
  private final LegacyIndexInfoRetriever = org.apache.cassandra.db.RowIndexEntry$LegacyIndexInfoRetriever of org.apache.cassandra.db.RowIndexEntry
  private final LegacyShallowIndexedEntry = org.apache.cassandra.db.RowIndexEntry$LegacyShallowIndexedEntry of org.apache.cassandra.db.RowIndexEntry
  public final Serializer = org.apache.cassandra.db.RowIndexEntry$Serializer of org.apache.cassandra.db.RowIndexEntry
  private final ShallowIndexedEntry = org.apache.cassandra.db.RowIndexEntry$ShallowIndexedEntry of org.apache.cassandra.db.RowIndexEntry
  private final ShallowInfoRetriever = org.apache.cassandra.db.RowIndexEntry$ShallowInfoRetriever of org.apache.cassandra.db.RowIndexEntry
  public Serializer = org.apache.cassandra.io.sstable.IndexInfo$Serializer of org.apache.cassandra.io.sstable.IndexInfo
  public MetricName = org.apache.cassandra.metrics.CassandraMetricsRegistry$MetricName of org.apache.cassandra.metrics.CassandraMetricsRegistry