public abstract class org.apache.cassandra.db.ReadCommand extends org.apache.cassandra.db.monitoring.MonitorableImpl implements org.apache.cassandra.db.ReadQuery
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.db.ReadCommand
  super_class: org.apache.cassandra.db.monitoring.MonitorableImpl
{
  private static final int TEST_ITERATION_DELAY_MILLIS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> serializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> readSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> rangeSliceSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> pagedRangeSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> legacyRangeSliceCommandSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> legacyPagedRangeCommandSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  public static final org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.db.ReadCommand> legacyReadCommandSerializer;
    descriptor: Lorg/apache/cassandra/io/IVersionedSerializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/db/ReadCommand;>;

  private final org.apache.cassandra.db.ReadCommand$Kind kind;
    descriptor: Lorg/apache/cassandra/db/ReadCommand$Kind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.config.CFMetaData metadata;
    descriptor: Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int nowInSec;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.filter.ColumnFilter columnFilter;
    descriptor: Lorg/apache/cassandra/db/filter/ColumnFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.filter.RowFilter rowFilter;
    descriptor: Lorg/apache/cassandra/db/filter/RowFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.filter.DataLimits limits;
    descriptor: Lorg/apache/cassandra/db/filter/DataLimits;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isDigestQuery;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int digestVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final boolean isForThrift;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.schema.IndexMetadata index;
    descriptor: Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 69
            ldc "cassandra.test.read_iteration_delay_ms"
            ldc "0"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putstatic org.apache.cassandra.db.ReadCommand.TEST_ITERATION_DELAY_MILLIS:I
         1: .line 70
            ldc Lorg/apache/cassandra/db/ReadCommand;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.ReadCommand.logger:Lorg/slf4j/Logger;
         2: .line 71
            new org.apache.cassandra.db.ReadCommand$Serializer
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$Serializer.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         3: .line 75
            new org.apache.cassandra.db.ReadCommand$1
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$1.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.readSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         4: .line 86
            new org.apache.cassandra.db.ReadCommand$2
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$2.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.rangeSliceSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         5: .line 97
            new org.apache.cassandra.db.ReadCommand$3
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$3.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.pagedRangeSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         6: .line 106
            new org.apache.cassandra.db.ReadCommand$LegacyRangeSliceCommandSerializer
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$LegacyRangeSliceCommandSerializer.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.legacyRangeSliceCommandSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         7: .line 107
            new org.apache.cassandra.db.ReadCommand$LegacyPagedRangeCommandSerializer
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$LegacyPagedRangeCommandSerializer.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.legacyPagedRangeCommandSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
         8: .line 108
            new org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer
            dup
            invokespecial org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer.<init>:()V
            putstatic org.apache.cassandra.db.ReadCommand.legacyReadCommandSerializer:Lorg/apache/cassandra/io/IVersionedSerializer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.apache.cassandra.db.ReadCommand$Kind, boolean, int, boolean, org.apache.cassandra.config.CFMetaData, int, org.apache.cassandra.db.filter.ColumnFilter, org.apache.cassandra.db.filter.RowFilter, org.apache.cassandra.db.filter.DataLimits, org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand$Kind;ZIZLorg/apache/cassandra/config/CFMetaData;ILorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/filter/RowFilter;Lorg/apache/cassandra/db/filter/DataLimits;Lorg/apache/cassandra/schema/IndexMetadata;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=11, args_size=11
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.ReadCommand$Kind kind
        start local 2 // boolean isDigestQuery
        start local 3 // int digestVersion
        start local 4 // boolean isForThrift
        start local 5 // org.apache.cassandra.config.CFMetaData metadata
        start local 6 // int nowInSec
        start local 7 // org.apache.cassandra.db.filter.ColumnFilter columnFilter
        start local 8 // org.apache.cassandra.db.filter.RowFilter rowFilter
        start local 9 // org.apache.cassandra.db.filter.DataLimits limits
        start local 10 // org.apache.cassandra.schema.IndexMetadata index
         0: .line 154
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.monitoring.MonitorableImpl.<init>:()V
         1: .line 165
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.apache.cassandra.db.ReadCommand.kind:Lorg/apache/cassandra/db/ReadCommand$Kind;
         2: .line 166
            aload 0 /* this */
            iload 2 /* isDigestQuery */
            putfield org.apache.cassandra.db.ReadCommand.isDigestQuery:Z
         3: .line 167
            aload 0 /* this */
            iload 3 /* digestVersion */
            putfield org.apache.cassandra.db.ReadCommand.digestVersion:I
         4: .line 168
            aload 0 /* this */
            iload 4 /* isForThrift */
            putfield org.apache.cassandra.db.ReadCommand.isForThrift:Z
         5: .line 169
            aload 0 /* this */
            aload 5 /* metadata */
            putfield org.apache.cassandra.db.ReadCommand.metadata:Lorg/apache/cassandra/config/CFMetaData;
         6: .line 170
            aload 0 /* this */
            iload 6 /* nowInSec */
            putfield org.apache.cassandra.db.ReadCommand.nowInSec:I
         7: .line 171
            aload 0 /* this */
            aload 7 /* columnFilter */
            putfield org.apache.cassandra.db.ReadCommand.columnFilter:Lorg/apache/cassandra/db/filter/ColumnFilter;
         8: .line 172
            aload 0 /* this */
            aload 8 /* rowFilter */
            putfield org.apache.cassandra.db.ReadCommand.rowFilter:Lorg/apache/cassandra/db/filter/RowFilter;
         9: .line 173
            aload 0 /* this */
            aload 9 /* limits */
            putfield org.apache.cassandra.db.ReadCommand.limits:Lorg/apache/cassandra/db/filter/DataLimits;
        10: .line 174
            aload 0 /* this */
            aload 10 /* index */
            putfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
        11: .line 175
            return
        end local 10 // org.apache.cassandra.schema.IndexMetadata index
        end local 9 // org.apache.cassandra.db.filter.DataLimits limits
        end local 8 // org.apache.cassandra.db.filter.RowFilter rowFilter
        end local 7 // org.apache.cassandra.db.filter.ColumnFilter columnFilter
        end local 6 // int nowInSec
        end local 5 // org.apache.cassandra.config.CFMetaData metadata
        end local 4 // boolean isForThrift
        end local 3 // int digestVersion
        end local 2 // boolean isDigestQuery
        end local 1 // org.apache.cassandra.db.ReadCommand$Kind kind
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/apache/cassandra/db/ReadCommand;
            0   12     1           kind  Lorg/apache/cassandra/db/ReadCommand$Kind;
            0   12     2  isDigestQuery  Z
            0   12     3  digestVersion  I
            0   12     4    isForThrift  Z
            0   12     5       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   12     6       nowInSec  I
            0   12     7   columnFilter  Lorg/apache/cassandra/db/filter/ColumnFilter;
            0   12     8      rowFilter  Lorg/apache/cassandra/db/filter/RowFilter;
            0   12     9         limits  Lorg/apache/cassandra/db/filter/DataLimits;
            0   12    10          index  Lorg/apache/cassandra/schema/IndexMetadata;
    MethodParameters:
               Name  Flags
      kind           
      isDigestQuery  
      digestVersion  
      isForThrift    
      metadata       
      nowInSec       
      columnFilter   
      rowFilter      
      limits         
      index          

  protected abstract void serializeSelection(org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      out      
      version  

  protected abstract long selectionSerializedSize(int);
    descriptor: (I)J
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      version  

  public abstract boolean isLimitedToOnePartition();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.apache.cassandra.db.ReadCommand withUpdatedLimit(org.apache.cassandra.db.filter.DataLimits);
    descriptor: (Lorg/apache/cassandra/db/filter/DataLimits;)Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      newLimits  

  public org.apache.cassandra.config.CFMetaData metadata();
    descriptor: ()Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 197
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.metadata:Lorg/apache/cassandra/config/CFMetaData;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public int nowInSec();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 211
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.nowInSec:I
            ireturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public abstract long getTimeout();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.apache.cassandra.db.filter.ColumnFilter columnFilter();
    descriptor: ()Lorg/apache/cassandra/db/filter/ColumnFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 228
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.columnFilter:Lorg/apache/cassandra/db/filter/ColumnFilter;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public org.apache.cassandra.db.filter.RowFilter rowFilter();
    descriptor: ()Lorg/apache/cassandra/db/filter/RowFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 245
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.rowFilter:Lorg/apache/cassandra/db/filter/RowFilter;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public org.apache.cassandra.db.filter.DataLimits limits();
    descriptor: ()Lorg/apache/cassandra/db/filter/DataLimits;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 255
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public boolean isDigestQuery();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 265
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.isDigestQuery:Z
            ireturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public int digestVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 276
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.digestVersion:I
            ireturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public org.apache.cassandra.db.ReadCommand setDigestVersion(int);
    descriptor: (I)Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // int digestVersion
         0: .line 291
            aload 0 /* this */
            iload 1 /* digestVersion */
            putfield org.apache.cassandra.db.ReadCommand.digestVersion:I
         1: .line 292
            aload 0 /* this */
            areturn
        end local 1 // int digestVersion
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/db/ReadCommand;
            0    2     1  digestVersion  I
    MethodParameters:
               Name  Flags
      digestVersion  

  public boolean isForThrift();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 302
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.isForThrift:Z
            ireturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  public org.apache.cassandra.schema.IndexMetadata indexMetadata();
    descriptor: ()Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 313
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.Nullable()

  public abstract org.apache.cassandra.db.filter.ClusteringIndexFilter clusteringIndexFilter(org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract org.apache.cassandra.db.ReadCommand copy();
    descriptor: ()Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.apache.cassandra.db.ReadCommand copyAsDigestQuery();
    descriptor: ()Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected abstract org.apache.cassandra.db.partitions.UnfilteredPartitionIterator queryStorage(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      cfs                  
      executionController  

  protected abstract int oldestUnrepairedTombstone();
    descriptor: ()I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public org.apache.cassandra.db.ReadResponse createResponse(org.apache.cassandra.db.partitions.UnfilteredPartitionIterator);
    descriptor: (Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;)Lorg/apache/cassandra/db/ReadResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
         0: .line 349
            aload 1 /* iterator */
            getstatic org.apache.cassandra.db.transform.RTBoundValidator$Stage.PROCESSED:Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;
            iconst_1
            invokestatic org.apache.cassandra.db.transform.RTBoundValidator.validate:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;Z)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 1 /* iterator */
         1: .line 351
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.isDigestQuery:()Z
            ifeq 3
         2: .line 352
            aload 1 /* iterator */
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.ReadResponse.createDigestResponse:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/ReadResponse;
            goto 4
         3: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* iterator */
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.ReadResponse.createDataResponse:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/ReadResponse;
         4: .line 351
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.ReadResponse
            areturn
        end local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/db/ReadCommand;
            0    5     1  iterator  Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    MethodParameters:
          Name  Flags
      iterator  

  long indexSerializedSize(int);
    descriptor: (I)J
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // int version
         0: .line 358
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
            ifnull 2
         1: .line 359
            getstatic org.apache.cassandra.schema.IndexMetadata.serializer:Lorg/apache/cassandra/schema/IndexMetadata$Serializer;
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
            iload 1 /* version */
            invokevirtual org.apache.cassandra.schema.IndexMetadata$Serializer.serializedSize:(Lorg/apache/cassandra/schema/IndexMetadata;I)J
            goto 3
         2: .line 360
      StackMap locals:
      StackMap stack:
            lconst_0
         3: .line 358
      StackMap locals:
      StackMap stack: long
            lreturn
        end local 1 // int version
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/cassandra/db/ReadCommand;
            0    4     1  version  I
    MethodParameters:
         Name  Flags
      version  

  public org.apache.cassandra.index.Index getIndex(org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/index/Index;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 365
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
            ifnull 2
         1: .line 366
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.index:Lorg/apache/cassandra/schema/IndexMetadata;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.getIndex:(Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/index/Index;
            goto 3
         2: .line 367
      StackMap locals:
      StackMap stack:
            aconst_null
         3: .line 365
      StackMap locals:
      StackMap stack: org.apache.cassandra.index.Index
            areturn
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/db/ReadCommand;
            0    4     1   cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
    MethodParameters:
      Name  Flags
      cfs   

  static org.apache.cassandra.schema.IndexMetadata findIndex(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.db.filter.RowFilter);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/filter/RowFilter;)Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData table
        start local 1 // org.apache.cassandra.db.filter.RowFilter rowFilter
         0: .line 372
            aload 0 /* table */
            invokevirtual org.apache.cassandra.config.CFMetaData.getIndexes:()Lorg/apache/cassandra/schema/Indexes;
            invokevirtual org.apache.cassandra.schema.Indexes.isEmpty:()Z
            ifne 1
            aload 1 /* rowFilter */
            invokevirtual org.apache.cassandra.db.filter.RowFilter.isEmpty:()Z
            ifeq 2
         1: .line 373
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* table */
            invokestatic org.apache.cassandra.db.Keyspace.openAndGetStore:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 2 /* cfs */
        start local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         3: .line 377
            aload 2 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            aload 1 /* rowFilter */
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.getBestIndexFor:(Lorg/apache/cassandra/db/filter/RowFilter;)Lorg/apache/cassandra/index/Index;
            astore 3 /* index */
        start local 3 // org.apache.cassandra.index.Index index
         4: .line 379
            aload 3 /* index */
            ifnull 6
         5: .line 380
            aload 3 /* index */
            invokeinterface org.apache.cassandra.index.Index.getIndexMetadata:()Lorg/apache/cassandra/schema/IndexMetadata;
            goto 7
         6: .line 381
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.index.Index
      StackMap stack:
            aconst_null
         7: .line 379
      StackMap locals:
      StackMap stack: org.apache.cassandra.schema.IndexMetadata
            areturn
        end local 3 // org.apache.cassandra.index.Index index
        end local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 1 // org.apache.cassandra.db.filter.RowFilter rowFilter
        end local 0 // org.apache.cassandra.config.CFMetaData table
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      table  Lorg/apache/cassandra/config/CFMetaData;
            0    8     1  rowFilter  Lorg/apache/cassandra/db/filter/RowFilter;
            3    8     2        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            4    8     3      index  Lorg/apache/cassandra/index/Index;
    MethodParameters:
           Name  Flags
      table      
      rowFilter  

  public void maybeValidateIndex();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 392
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokestatic org.apache.cassandra.db.Keyspace.openAndGetStore:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ReadCommand.getIndex:(Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/index/Index;
            astore 1 /* index */
        start local 1 // org.apache.cassandra.index.Index index
         1: .line 393
            aload 1 /* index */
            ifnull 3
         2: .line 394
            aload 1 /* index */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.index.Index.validate:(Lorg/apache/cassandra/db/ReadCommand;)V
         3: .line 395
      StackMap locals: org.apache.cassandra.index.Index
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.index.Index index
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/cassandra/db/ReadCommand;
            1    4     1  index  Lorg/apache/cassandra/index/Index;

  public org.apache.cassandra.db.partitions.UnfilteredPartitionIterator executeLocally(org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.ReadExecutionController executionController
         0: .line 408
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* startTimeNanos */
        start local 2 // long startTimeNanos
         1: .line 410
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
            invokestatic org.apache.cassandra.db.Keyspace.openAndGetStore:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 4 /* cfs */
        start local 4 // org.apache.cassandra.db.ColumnFamilyStore cfs
         2: .line 411
            aload 0 /* this */
            aload 4 /* cfs */
            invokevirtual org.apache.cassandra.db.ReadCommand.getIndex:(Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/index/Index;
            astore 5 /* index */
        start local 5 // org.apache.cassandra.index.Index index
         3: .line 413
            aconst_null
            astore 6 /* searcher */
        start local 6 // org.apache.cassandra.index.Index$Searcher searcher
         4: .line 414
            aload 5 /* index */
            ifnull 9
         5: .line 416
            aload 4 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            aload 5 /* index */
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.isIndexQueryable:(Lorg/apache/cassandra/index/Index;)Z
            ifne 7
         6: .line 417
            new org.apache.cassandra.index.IndexNotAvailableException
            dup
            aload 5 /* index */
            invokespecial org.apache.cassandra.index.IndexNotAvailableException.<init>:(Lorg/apache/cassandra/index/Index;)V
            athrow
         7: .line 419
      StackMap locals: org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.ReadExecutionController long org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.index.Index org.apache.cassandra.index.Index$Searcher
      StackMap stack:
            aload 5 /* index */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.index.Index.searcherFor:(Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/index/Index$Searcher;
            astore 6 /* searcher */
         8: .line 420
            ldc "Executing read on {}.{} using index {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 5 /* index */
            invokeinterface org.apache.cassandra.index.Index.getIndexMetadata:()Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            aastore
            invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 423
      StackMap locals:
      StackMap stack:
            aload 6 /* searcher */
            ifnonnull 10
            aload 0 /* this */
            aload 4 /* cfs */
            aload 1 /* executionController */
            invokevirtual org.apache.cassandra.db.ReadCommand.queryStorage:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 6 /* searcher */
            aload 1 /* executionController */
            invokeinterface org.apache.cassandra.index.Index$Searcher.search:(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.partitions.UnfilteredPartitionIterator
        11: astore 7 /* iterator */
        start local 7 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
        12: .line 424
            aload 7 /* iterator */
            getstatic org.apache.cassandra.db.transform.RTBoundValidator$Stage.MERGED:Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;
            iconst_0
            invokestatic org.apache.cassandra.db.transform.RTBoundValidator.validate:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;Z)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        13: .line 428
            aload 0 /* this */
            aload 7 /* iterator */
            invokevirtual org.apache.cassandra.db.ReadCommand.withStateTracking:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        14: .line 429
            aload 0 /* this */
            aload 7 /* iterator */
            aload 4 /* cfs */
            invokevirtual org.apache.cassandra.db.ReadCommand.withoutPurgeableTombstones:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            getstatic org.apache.cassandra.db.transform.RTBoundValidator$Stage.PURGED:Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;
            iconst_0
            invokestatic org.apache.cassandra.db.transform.RTBoundValidator.validate:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/RTBoundValidator$Stage;Z)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        15: .line 430
            aload 0 /* this */
            aload 7 /* iterator */
            aload 4 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
            lload 2 /* startTimeNanos */
            invokevirtual org.apache.cassandra.db.ReadCommand.withMetricsRecording:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/metrics/TableMetrics;J)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        16: .line 434
            aload 6 /* searcher */
            ifnonnull 17
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.rowFilter:()Lorg/apache/cassandra/db/filter/RowFilter;
            goto 18
      StackMap locals: org.apache.cassandra.db.partitions.UnfilteredPartitionIterator
      StackMap stack:
        17: aload 5 /* index */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.rowFilter:()Lorg/apache/cassandra/db/filter/RowFilter;
            invokeinterface org.apache.cassandra.index.Index.getPostIndexQueryFilter:(Lorg/apache/cassandra/db/filter/RowFilter;)Lorg/apache/cassandra/db/filter/RowFilter;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.filter.RowFilter
        18: astore 8 /* filter */
        start local 8 // org.apache.cassandra.db.filter.RowFilter filter
        19: .line 442
            aload 8 /* filter */
            aload 7 /* iterator */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokevirtual org.apache.cassandra.db.filter.RowFilter.filter:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;I)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        20: .line 446
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
            aload 7 /* iterator */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.selectsFullPartition:()Z
            invokevirtual org.apache.cassandra.db.filter.DataLimits.filter:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;IZ)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            astore 7 /* iterator */
        21: .line 449
            aload 7 /* iterator */
            invokestatic org.apache.cassandra.db.transform.RTBoundCloser.close:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
        22: areturn
        end local 8 // org.apache.cassandra.db.filter.RowFilter filter
        23: .line 451
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* e */
        start local 8 // java.lang.Throwable e
        24: .line 453
            aload 7 /* iterator */
            invokeinterface org.apache.cassandra.db.partitions.UnfilteredPartitionIterator.close:()V
        25: .line 454
            aload 8 /* e */
            athrow
        end local 8 // java.lang.Throwable e
        end local 7 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
        end local 6 // org.apache.cassandra.index.Index$Searcher searcher
        end local 5 // org.apache.cassandra.index.Index index
        end local 4 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 2 // long startTimeNanos
        end local 1 // org.apache.cassandra.db.ReadExecutionController executionController
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Lorg/apache/cassandra/db/ReadCommand;
            0   26     1  executionController  Lorg/apache/cassandra/db/ReadExecutionController;
            1   26     2       startTimeNanos  J
            2   26     4                  cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            3   26     5                index  Lorg/apache/cassandra/index/Index;
            4   26     6             searcher  Lorg/apache/cassandra/index/Index$Searcher;
           12   26     7             iterator  Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
           19   23     8               filter  Lorg/apache/cassandra/db/filter/RowFilter;
           24   26     8                    e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          13    22      23  Class java.lang.RuntimeException
          13    22      23  Class java.lang.Error
    MethodParameters:
                     Name  Flags
      executionController  

  protected abstract void recordLatency(org.apache.cassandra.metrics.TableMetrics, long);
    descriptor: (Lorg/apache/cassandra/metrics/TableMetrics;J)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      metric        
      latencyNanos  

  public org.apache.cassandra.db.partitions.PartitionIterator executeInternal(org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.ReadExecutionController controller
         0: .line 462
            aload 0 /* this */
            aload 1 /* controller */
            invokevirtual org.apache.cassandra.db.ReadCommand.executeLocally:(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokestatic org.apache.cassandra.db.partitions.UnfilteredPartitionIterators.filter:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;I)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
        end local 1 // org.apache.cassandra.db.ReadExecutionController controller
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/db/ReadCommand;
            0    1     1  controller  Lorg/apache/cassandra/db/ReadExecutionController;
    MethodParameters:
            Name  Flags
      controller  

  public org.apache.cassandra.db.ReadExecutionController executionController();
    descriptor: ()Lorg/apache/cassandra/db/ReadExecutionController;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 467
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.ReadExecutionController.forCommand:(Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/ReadExecutionController;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;

  private org.apache.cassandra.db.partitions.UnfilteredPartitionIterator withMetricsRecording(org.apache.cassandra.db.partitions.UnfilteredPartitionIterator, org.apache.cassandra.metrics.TableMetrics, long);
    descriptor: (Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/metrics/TableMetrics;J)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iter
        start local 2 // org.apache.cassandra.metrics.TableMetrics metric
        start local 3 // long startTimeNanos
         0: .line 578
            aload 1 /* iter */
            new org.apache.cassandra.db.ReadCommand$1MetricRecording
            dup
            aload 0 /* this */
            aload 2 /* metric */
            lload 3 /* startTimeNanos */
            invokespecial org.apache.cassandra.db.ReadCommand$1MetricRecording.<init>:(Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/metrics/TableMetrics;J)V
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            areturn
        end local 3 // long startTimeNanos
        end local 2 // org.apache.cassandra.metrics.TableMetrics metric
        end local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iter
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/apache/cassandra/db/ReadCommand;
            0    1     1            iter  Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            0    1     2          metric  Lorg/apache/cassandra/metrics/TableMetrics;
            0    1     3  startTimeNanos  J
    MethodParameters:
                Name  Flags
      iter            
      metric          final
      startTimeNanos  final

  protected org.apache.cassandra.db.partitions.UnfilteredPartitionIterator withStateTracking(org.apache.cassandra.db.partitions.UnfilteredPartitionIterator);
    descriptor: (Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iter
         0: .line 634
            aload 1 /* iter */
            new org.apache.cassandra.db.ReadCommand$CheckForAbort
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.ReadCommand$CheckForAbort.<init>:(Lorg/apache/cassandra/db/ReadCommand;)V
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            areturn
        end local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iter
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;
            0    1     1  iter  Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    MethodParameters:
      Name  Flags
      iter  

  public abstract org.apache.cassandra.net.MessageOut<org.apache.cassandra.db.ReadCommand> createMessage(int);
    descriptor: (I)Lorg/apache/cassandra/net/MessageOut;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/db/ReadCommand;>;
    MethodParameters:
         Name  Flags
      version  

  protected abstract void appendCQLWhereClause(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      sb    

  protected org.apache.cassandra.db.partitions.UnfilteredPartitionIterator withoutPurgeableTombstones(org.apache.cassandra.db.partitions.UnfilteredPartitionIterator, org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.ReadCommand this
        start local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
        start local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 649
            aload 1 /* iterator */
            invokeinterface org.apache.cassandra.db.partitions.UnfilteredPartitionIterator.isForThrift:()Z
            istore 3 /* isForThrift */
        start local 3 // boolean isForThrift
         1: .line 667
            aload 1 /* iterator */
            new org.apache.cassandra.db.ReadCommand$1WithoutPurgeableTombstones
            dup
            aload 0 /* this */
            iload 3 /* isForThrift */
            aload 2 /* cfs */
            invokespecial org.apache.cassandra.db.ReadCommand$1WithoutPurgeableTombstones.<init>:(Lorg/apache/cassandra/db/ReadCommand;ZLorg/apache/cassandra/db/ColumnFamilyStore;)V
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            areturn
        end local 3 // boolean isForThrift
        end local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 1 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/cassandra/db/ReadCommand;
            0    2     1     iterator  Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            0    2     2          cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            1    2     3  isForThrift  Z
    MethodParameters:
          Name  Flags
      iterator  
      cfs       

  public java.lang.String toCQLString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 681
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 682
            aload 1 /* sb */
            ldc "SELECT "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.columnFilter:()Lorg/apache/cassandra/db/filter/ColumnFilter;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         2: .line 683
            aload 1 /* sb */
            ldc " FROM "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.db.ReadCommand.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 684
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual org.apache.cassandra.db.ReadCommand.appendCQLWhereClause:(Ljava/lang/StringBuilder;)V
         4: .line 686
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
            getstatic org.apache.cassandra.db.filter.DataLimits.NONE:Lorg/apache/cassandra/db/filter/DataLimits;
            if_acmpeq 6
         5: .line 687
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 688
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/cassandra/db/ReadCommand;
            1    7     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ReadCommand this
         0: .line 694
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.ReadCommand.toCQLString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.db.ReadCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/ReadCommand;
}
SourceFile: "ReadCommand.java"
NestMembers:
  org.apache.cassandra.db.ReadCommand$1  org.apache.cassandra.db.ReadCommand$1MetricRecording  org.apache.cassandra.db.ReadCommand$1WithoutPurgeableTombstones  org.apache.cassandra.db.ReadCommand$2  org.apache.cassandra.db.ReadCommand$3  org.apache.cassandra.db.ReadCommand$CheckForAbort  org.apache.cassandra.db.ReadCommand$Kind  org.apache.cassandra.db.ReadCommand$LegacyPagedRangeCommandSerializer  org.apache.cassandra.db.ReadCommand$LegacyRangeSliceCommandSerializer  org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer  org.apache.cassandra.db.ReadCommand$LegacyType  org.apache.cassandra.db.ReadCommand$SelectionDeserializer  org.apache.cassandra.db.ReadCommand$Serializer
InnerClasses:
  org.apache.cassandra.db.ReadCommand$1
  MetricRecording = org.apache.cassandra.db.ReadCommand$1MetricRecording
  WithoutPurgeableTombstones = org.apache.cassandra.db.ReadCommand$1WithoutPurgeableTombstones
  org.apache.cassandra.db.ReadCommand$2
  org.apache.cassandra.db.ReadCommand$3
  protected CheckForAbort = org.apache.cassandra.db.ReadCommand$CheckForAbort of org.apache.cassandra.db.ReadCommand
  protected final Kind = org.apache.cassandra.db.ReadCommand$Kind of org.apache.cassandra.db.ReadCommand
  private LegacyPagedRangeCommandSerializer = org.apache.cassandra.db.ReadCommand$LegacyPagedRangeCommandSerializer of org.apache.cassandra.db.ReadCommand
  private LegacyRangeSliceCommandSerializer = org.apache.cassandra.db.ReadCommand$LegacyRangeSliceCommandSerializer of org.apache.cassandra.db.ReadCommand
  LegacyReadCommandSerializer = org.apache.cassandra.db.ReadCommand$LegacyReadCommandSerializer of org.apache.cassandra.db.ReadCommand
  private final LegacyType = org.apache.cassandra.db.ReadCommand$LegacyType of org.apache.cassandra.db.ReadCommand
  protected abstract SelectionDeserializer = org.apache.cassandra.db.ReadCommand$SelectionDeserializer of org.apache.cassandra.db.ReadCommand
  private Serializer = org.apache.cassandra.db.ReadCommand$Serializer of org.apache.cassandra.db.ReadCommand
  public final Stage = org.apache.cassandra.db.transform.RTBoundValidator$Stage of org.apache.cassandra.db.transform.RTBoundValidator
  public abstract Searcher = org.apache.cassandra.index.Index$Searcher of org.apache.cassandra.index.Index
  public Serializer = org.apache.cassandra.schema.IndexMetadata$Serializer of org.apache.cassandra.schema.IndexMetadata