public abstract class org.apache.cassandra.index.internal.CassandraIndexSearcher implements org.apache.cassandra.index.Index$Searcher
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.index.internal.CassandraIndexSearcher
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  protected final org.apache.cassandra.index.internal.CassandraIndex index;
    descriptor: Lorg/apache/cassandra/index/internal/CassandraIndex;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.db.ReadCommand command;
    descriptor: Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

  public void <init>(org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.filter.RowFilter$Expression, org.apache.cassandra.index.internal.CassandraIndex);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/filter/RowFilter$Expression;Lorg/apache/cassandra/index/internal/CassandraIndex;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // org.apache.cassandra.db.ReadCommand command
        start local 2 // org.apache.cassandra.db.filter.RowFilter$Expression expression
        start local 3 // org.apache.cassandra.index.internal.CassandraIndex index
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            aload 1 /* command */
            putfield org.apache.cassandra.index.internal.CassandraIndexSearcher.command:Lorg/apache/cassandra/db/ReadCommand;
         2: .line 53
            aload 0 /* this */
            aload 2 /* expression */
            putfield org.apache.cassandra.index.internal.CassandraIndexSearcher.expression:Lorg/apache/cassandra/db/filter/RowFilter$Expression;
         3: .line 54
            aload 0 /* this */
            aload 3 /* index */
            putfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
         4: .line 55
            return
        end local 3 // org.apache.cassandra.index.internal.CassandraIndex index
        end local 2 // org.apache.cassandra.db.filter.RowFilter$Expression expression
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0    5     1     command  Lorg/apache/cassandra/db/ReadCommand;
            0    5     2  expression  Lorg/apache/cassandra/db/filter/RowFilter$Expression;
            0    5     3       index  Lorg/apache/cassandra/index/internal/CassandraIndex;
    MethodParameters:
            Name  Flags
      command     
      expression  
      index       

  public org.apache.cassandra.db.partitions.UnfilteredPartitionIterator search(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=5, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // org.apache.cassandra.db.ReadExecutionController executionController
         0: .line 62
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getBackingTable:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.expression:Lorg/apache/cassandra/db/filter/RowFilter$Expression;
            invokevirtual org.apache.cassandra.db.filter.RowFilter$Expression.getIndexValue:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 2 /* indexKey */
        start local 2 // org.apache.cassandra.db.DecoratedKey indexKey
         1: .line 63
            aload 0 /* this */
            aload 2 /* indexKey */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.command:Lorg/apache/cassandra/db/ReadCommand;
            aload 1 /* executionController */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.queryIndex:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            astore 3 /* indexIter */
        start local 3 // org.apache.cassandra.db.rows.UnfilteredRowIterator indexIter
         2: .line 66
            aload 0 /* this */
            aload 2 /* indexKey */
            aload 3 /* indexIter */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.command:Lorg/apache/cassandra/db/ReadCommand;
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokestatic org.apache.cassandra.db.rows.UnfilteredRowIterators.filter:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;I)Lorg/apache/cassandra/db/rows/RowIterator;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.command:Lorg/apache/cassandra/db/ReadCommand;
            aload 1 /* executionController */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.queryDataFromIndex:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/RowIterator;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
         3: areturn
         4: .line 68
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadExecutionController org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.rows.UnfilteredRowIterator
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 70
            aload 3 /* indexIter */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
         6: .line 71
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        end local 3 // org.apache.cassandra.db.rows.UnfilteredRowIterator indexIter
        end local 2 // org.apache.cassandra.db.DecoratedKey indexKey
        end local 1 // org.apache.cassandra.db.ReadExecutionController executionController
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0    7     1  executionController  Lorg/apache/cassandra/db/ReadExecutionController;
            1    7     2             indexKey  Lorg/apache/cassandra/db/DecoratedKey;
            2    7     3            indexIter  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            5    7     4                    e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.RuntimeException
           2     3       4  Class java.lang.Error
    MethodParameters:
                     Name  Flags
      executionController  

  private org.apache.cassandra.db.rows.UnfilteredRowIterator queryIndex(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        start local 2 // org.apache.cassandra.db.ReadCommand command
        start local 3 // org.apache.cassandra.db.ReadExecutionController executionController
         0: .line 77
            aload 0 /* this */
            aload 2 /* command */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexFilter:(Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            astore 4 /* filter */
        start local 4 // org.apache.cassandra.db.filter.ClusteringIndexFilter filter
         1: .line 78
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getBackingTable:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 5 /* indexCfs */
        start local 5 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
         2: .line 79
            aload 5 /* indexCfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            astore 6 /* indexCfm */
        start local 6 // org.apache.cassandra.config.CFMetaData indexCfm
         3: .line 80
            aload 6 /* indexCfm */
            aload 2 /* command */
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            aload 1 /* indexKey */
            aload 6 /* indexCfm */
            invokestatic org.apache.cassandra.db.filter.ColumnFilter.all:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/filter/ColumnFilter;
            aload 4 /* filter */
            invokestatic org.apache.cassandra.db.SinglePartitionReadCommand.create:(Lorg/apache/cassandra/config/CFMetaData;ILorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/filter/ColumnFilter;Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;)Lorg/apache/cassandra/db/SinglePartitionReadCommand;
         4: .line 81
            aload 5 /* indexCfs */
            aload 3 /* executionController */
            invokevirtual org.apache.cassandra.db.ReadExecutionController.indexReadController:()Lorg/apache/cassandra/db/ReadExecutionController;
            invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDisk:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
         5: .line 80
            areturn
        end local 6 // org.apache.cassandra.config.CFMetaData indexCfm
        end local 5 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
        end local 4 // org.apache.cassandra.db.filter.ClusteringIndexFilter filter
        end local 3 // org.apache.cassandra.db.ReadExecutionController executionController
        end local 2 // org.apache.cassandra.db.ReadCommand command
        end local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0    6     1             indexKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    6     2              command  Lorg/apache/cassandra/db/ReadCommand;
            0    6     3  executionController  Lorg/apache/cassandra/db/ReadExecutionController;
            1    6     4               filter  Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            2    6     5             indexCfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            3    6     6             indexCfm  Lorg/apache/cassandra/config/CFMetaData;
    MethodParameters:
                     Name  Flags
      indexKey             
      command              
      executionController  

  private org.apache.cassandra.db.filter.ClusteringIndexFilter makeIndexFilter(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // org.apache.cassandra.db.ReadCommand command
         0: .line 86
            aload 1 /* command */
            instanceof org.apache.cassandra.db.SinglePartitionReadCommand
            ifeq 19
         1: .line 91
            aload 1 /* command */
            checkcast org.apache.cassandra.db.SinglePartitionReadCommand
            astore 2 /* sprc */
        start local 2 // org.apache.cassandra.db.SinglePartitionReadCommand sprc
         2: .line 92
            aload 2 /* sprc */
            invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            astore 3 /* pk */
        start local 3 // java.nio.ByteBuffer pk
         3: .line 93
            aload 2 /* sprc */
            invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.clusteringIndexFilter:()Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            astore 4 /* filter */
        start local 4 // org.apache.cassandra.db.filter.ClusteringIndexFilter filter
         4: .line 95
            aload 4 /* filter */
            instanceof org.apache.cassandra.db.filter.ClusteringIndexNamesFilter
            ifeq 12
         5: .line 97
            aload 4 /* filter */
            checkcast org.apache.cassandra.db.filter.ClusteringIndexNamesFilter
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexNamesFilter.requestedRows:()Ljava/util/NavigableSet;
            astore 5 /* requested */
        start local 5 // java.util.NavigableSet requested
         6: .line 98
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexComparator:()Lorg/apache/cassandra/db/ClusteringComparator;
            invokestatic org.apache.cassandra.utils.btree.BTreeSet.builder:(Ljava/util/Comparator;)Lorg/apache/cassandra/utils/btree/BTreeSet$Builder;
            astore 6 /* clusterings */
        start local 6 // org.apache.cassandra.utils.btree.BTreeSet$Builder clusterings
         7: .line 99
            aload 5 /* requested */
            invokeinterface java.util.NavigableSet.iterator:()Ljava/util/Iterator;
            astore 8
            goto 10
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.SinglePartitionReadCommand java.nio.ByteBuffer org.apache.cassandra.db.filter.ClusteringIndexFilter java.util.NavigableSet org.apache.cassandra.utils.btree.BTreeSet$Builder top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Clustering
            astore 7 /* c */
        start local 7 // org.apache.cassandra.db.Clustering c
         9: .line 100
            aload 6 /* clusterings */
            aload 0 /* this */
            aload 3 /* pk */
            aload 7 /* c */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexClustering:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;)Lorg/apache/cassandra/db/Clustering;
            invokevirtual org.apache.cassandra.utils.btree.BTreeSet$Builder.add:(Ljava/lang/Object;)Lorg/apache/cassandra/utils/btree/BTreeSet$Builder;
            pop
        end local 7 // org.apache.cassandra.db.Clustering c
        10: .line 99
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 101
            new org.apache.cassandra.db.filter.ClusteringIndexNamesFilter
            dup
            aload 6 /* clusterings */
            invokevirtual org.apache.cassandra.utils.btree.BTreeSet$Builder.build:()Lorg/apache/cassandra/utils/btree/BTreeSet;
            aload 4 /* filter */
            invokeinterface org.apache.cassandra.db.filter.ClusteringIndexFilter.isReversed:()Z
            invokespecial org.apache.cassandra.db.filter.ClusteringIndexNamesFilter.<init>:(Ljava/util/NavigableSet;Z)V
            areturn
        end local 6 // org.apache.cassandra.utils.btree.BTreeSet$Builder clusterings
        end local 5 // java.util.NavigableSet requested
        12: .line 105
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.SinglePartitionReadCommand java.nio.ByteBuffer org.apache.cassandra.db.filter.ClusteringIndexFilter
      StackMap stack:
            aload 4 /* filter */
            checkcast org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.requestedSlices:()Lorg/apache/cassandra/db/Slices;
            astore 5 /* requested */
        start local 5 // org.apache.cassandra.db.Slices requested
        13: .line 106
            new org.apache.cassandra.db.Slices$Builder
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexComparator:()Lorg/apache/cassandra/db/ClusteringComparator;
            invokespecial org.apache.cassandra.db.Slices$Builder.<init>:(Lorg/apache/cassandra/db/ClusteringComparator;)V
            astore 6 /* builder */
        start local 6 // org.apache.cassandra.db.Slices$Builder builder
        14: .line 107
            aload 5 /* requested */
            invokevirtual org.apache.cassandra.db.Slices.iterator:()Ljava/util/Iterator;
            astore 8
            goto 17
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.SinglePartitionReadCommand java.nio.ByteBuffer org.apache.cassandra.db.filter.ClusteringIndexFilter org.apache.cassandra.db.Slices org.apache.cassandra.db.Slices$Builder top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Slice
            astore 7 /* slice */
        start local 7 // org.apache.cassandra.db.Slice slice
        16: .line 108
            aload 6 /* builder */
            aload 0 /* this */
            aload 3 /* pk */
            aload 7 /* slice */
            invokevirtual org.apache.cassandra.db.Slice.start:()Lorg/apache/cassandra/db/ClusteringBound;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexBound:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
            aload 0 /* this */
            aload 3 /* pk */
            aload 7 /* slice */
            invokevirtual org.apache.cassandra.db.Slice.end:()Lorg/apache/cassandra/db/ClusteringBound;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexBound:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
            invokevirtual org.apache.cassandra.db.Slices$Builder.add:(Lorg/apache/cassandra/db/ClusteringBound;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/Slices$Builder;
            pop
        end local 7 // org.apache.cassandra.db.Slice slice
        17: .line 107
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 109
            new org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
            dup
            aload 6 /* builder */
            invokevirtual org.apache.cassandra.db.Slices$Builder.build:()Lorg/apache/cassandra/db/Slices;
            aload 4 /* filter */
            invokeinterface org.apache.cassandra.db.filter.ClusteringIndexFilter.isReversed:()Z
            invokespecial org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.<init>:(Lorg/apache/cassandra/db/Slices;Z)V
            areturn
        end local 6 // org.apache.cassandra.db.Slices$Builder builder
        end local 5 // org.apache.cassandra.db.Slices requested
        end local 4 // org.apache.cassandra.db.filter.ClusteringIndexFilter filter
        end local 3 // java.nio.ByteBuffer pk
        end local 2 // org.apache.cassandra.db.SinglePartitionReadCommand sprc
        19: .line 115
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand
      StackMap stack:
            aload 1 /* command */
            checkcast org.apache.cassandra.db.PartitionRangeReadCommand
            invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.dataRange:()Lorg/apache/cassandra/db/DataRange;
            astore 2 /* dataRange */
        start local 2 // org.apache.cassandra.db.DataRange dataRange
        20: .line 116
            aload 2 /* dataRange */
            invokevirtual org.apache.cassandra.db.DataRange.keyRange:()Lorg/apache/cassandra/dht/AbstractBounds;
            astore 3 /* range */
        start local 3 // org.apache.cassandra.dht.AbstractBounds range
        21: .line 118
            getstatic org.apache.cassandra.db.Slice.ALL:Lorg/apache/cassandra/db/Slice;
            astore 4 /* slice */
        start local 4 // org.apache.cassandra.db.Slice slice
        22: .line 125
            aload 3 /* range */
            getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
            instanceof org.apache.cassandra.db.DecoratedKey
            ifeq 50
        23: .line 129
            aload 3 /* range */
            getfield org.apache.cassandra.dht.AbstractBounds.right:Lorg/apache/cassandra/dht/RingPosition;
            instanceof org.apache.cassandra.db.DecoratedKey
            ifeq 47
        24: .line 132
            aload 3 /* range */
            getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.db.DecoratedKey
            astore 5 /* startKey */
        start local 5 // org.apache.cassandra.db.DecoratedKey startKey
        25: .line 133
            aload 3 /* range */
            getfield org.apache.cassandra.dht.AbstractBounds.right:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.db.DecoratedKey
            astore 6 /* endKey */
        start local 6 // org.apache.cassandra.db.DecoratedKey endKey
        26: .line 135
            getstatic org.apache.cassandra.db.ClusteringBound.BOTTOM:Lorg/apache/cassandra/db/ClusteringBound;
            astore 7 /* start */
        start local 7 // org.apache.cassandra.db.ClusteringBound start
        27: .line 136
            getstatic org.apache.cassandra.db.ClusteringBound.TOP:Lorg/apache/cassandra/db/ClusteringBound;
            astore 8 /* end */
        start local 8 // org.apache.cassandra.db.ClusteringBound end
        28: .line 142
            aload 2 /* dataRange */
            invokevirtual org.apache.cassandra.db.DataRange.isNamesQuery:()Z
            ifne 43
        29: .line 144
            aload 2 /* dataRange */
        30: .line 145
            aload 5 /* startKey */
        31: .line 144
            invokevirtual org.apache.cassandra.db.DataRange.clusteringIndexFilter:(Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            checkcast org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
            astore 9 /* startSliceFilter */
        start local 9 // org.apache.cassandra.db.filter.ClusteringIndexSliceFilter startSliceFilter
        32: .line 146
            aload 2 /* dataRange */
        33: .line 147
            aload 6 /* endKey */
        34: .line 146
            invokevirtual org.apache.cassandra.db.DataRange.clusteringIndexFilter:(Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            checkcast org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
            astore 10 /* endSliceFilter */
        start local 10 // org.apache.cassandra.db.filter.ClusteringIndexSliceFilter endSliceFilter
        35: .line 151
            getstatic org.apache.cassandra.index.internal.CassandraIndexSearcher.$assertionsDisabled:Z
            ifne 37
            aload 9 /* startSliceFilter */
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.isReversed:()Z
            ifne 36
            aload 10 /* endSliceFilter */
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.isReversed:()Z
            ifeq 37
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.DataRange org.apache.cassandra.dht.AbstractBounds org.apache.cassandra.db.Slice org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.ClusteringBound org.apache.cassandra.db.ClusteringBound org.apache.cassandra.db.filter.ClusteringIndexSliceFilter org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
      StackMap stack:
        36: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 153
      StackMap locals:
      StackMap stack:
            aload 9 /* startSliceFilter */
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.requestedSlices:()Lorg/apache/cassandra/db/Slices;
            astore 11 /* startSlices */
        start local 11 // org.apache.cassandra.db.Slices startSlices
        38: .line 154
            aload 10 /* endSliceFilter */
            invokevirtual org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.requestedSlices:()Lorg/apache/cassandra/db/Slices;
            astore 12 /* endSlices */
        start local 12 // org.apache.cassandra.db.Slices endSlices
        39: .line 156
            aload 11 /* startSlices */
            invokevirtual org.apache.cassandra.db.Slices.size:()I
            ifle 41
        40: .line 157
            aload 11 /* startSlices */
            iconst_0
            invokevirtual org.apache.cassandra.db.Slices.get:(I)Lorg/apache/cassandra/db/Slice;
            invokevirtual org.apache.cassandra.db.Slice.start:()Lorg/apache/cassandra/db/ClusteringBound;
            astore 7 /* start */
        41: .line 159
      StackMap locals: org.apache.cassandra.db.Slices org.apache.cassandra.db.Slices
      StackMap stack:
            aload 12 /* endSlices */
            invokevirtual org.apache.cassandra.db.Slices.size:()I
            ifle 43
        42: .line 160
            aload 12 /* endSlices */
            aload 12 /* endSlices */
            invokevirtual org.apache.cassandra.db.Slices.size:()I
            iconst_1
            isub
            invokevirtual org.apache.cassandra.db.Slices.get:(I)Lorg/apache/cassandra/db/Slice;
            invokevirtual org.apache.cassandra.db.Slice.end:()Lorg/apache/cassandra/db/ClusteringBound;
            astore 8 /* end */
        end local 12 // org.apache.cassandra.db.Slices endSlices
        end local 11 // org.apache.cassandra.db.Slices startSlices
        end local 10 // org.apache.cassandra.db.filter.ClusteringIndexSliceFilter endSliceFilter
        end local 9 // org.apache.cassandra.db.filter.ClusteringIndexSliceFilter startSliceFilter
        43: .line 163
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.DataRange org.apache.cassandra.dht.AbstractBounds org.apache.cassandra.db.Slice org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.ClusteringBound org.apache.cassandra.db.ClusteringBound
      StackMap stack:
            aload 0 /* this */
            aload 5 /* startKey */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            aload 7 /* start */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexBound:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
        44: .line 164
            aload 0 /* this */
            aload 6 /* endKey */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            aload 8 /* end */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexBound:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
        45: .line 163
            invokestatic org.apache.cassandra.db.Slice.make:(Lorg/apache/cassandra/db/ClusteringBound;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/Slice;
            astore 4 /* slice */
        end local 8 // org.apache.cassandra.db.ClusteringBound end
        end local 7 // org.apache.cassandra.db.ClusteringBound start
        end local 6 // org.apache.cassandra.db.DecoratedKey endKey
        end local 5 // org.apache.cassandra.db.DecoratedKey startKey
        46: .line 165
            goto 50
        47: .line 169
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndexSearcher org.apache.cassandra.db.ReadCommand org.apache.cassandra.db.DataRange org.apache.cassandra.dht.AbstractBounds org.apache.cassandra.db.Slice
      StackMap stack:
            aload 0 /* this */
            aload 3 /* range */
            getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.db.DecoratedKey
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            getstatic org.apache.cassandra.db.ClusteringBound.BOTTOM:Lorg/apache/cassandra/db/ClusteringBound;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndexSearcher.makeIndexBound:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
        48: .line 170
            getstatic org.apache.cassandra.db.ClusteringBound.TOP:Lorg/apache/cassandra/db/ClusteringBound;
        49: .line 169
            invokestatic org.apache.cassandra.db.Slice.make:(Lorg/apache/cassandra/db/ClusteringBound;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/Slice;
            astore 4 /* slice */
        50: .line 173
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.filter.ClusteringIndexSliceFilter
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexComparator:()Lorg/apache/cassandra/db/ClusteringComparator;
            aload 4 /* slice */
            invokestatic org.apache.cassandra.db.Slices.with:(Lorg/apache/cassandra/db/ClusteringComparator;Lorg/apache/cassandra/db/Slice;)Lorg/apache/cassandra/db/Slices;
            iconst_0
            invokespecial org.apache.cassandra.db.filter.ClusteringIndexSliceFilter.<init>:(Lorg/apache/cassandra/db/Slices;Z)V
            areturn
        end local 4 // org.apache.cassandra.db.Slice slice
        end local 3 // org.apache.cassandra.dht.AbstractBounds range
        end local 2 // org.apache.cassandra.db.DataRange dataRange
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   51     0              this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0   51     1           command  Lorg/apache/cassandra/db/ReadCommand;
            2   19     2              sprc  Lorg/apache/cassandra/db/SinglePartitionReadCommand;
            3   19     3                pk  Ljava/nio/ByteBuffer;
            4   19     4            filter  Lorg/apache/cassandra/db/filter/ClusteringIndexFilter;
            6   12     5         requested  Ljava/util/NavigableSet<Lorg/apache/cassandra/db/Clustering;>;
            7   12     6       clusterings  Lorg/apache/cassandra/utils/btree/BTreeSet$Builder<Lorg/apache/cassandra/db/Clustering;>;
            9   10     7                 c  Lorg/apache/cassandra/db/Clustering;
           13   19     5         requested  Lorg/apache/cassandra/db/Slices;
           14   19     6           builder  Lorg/apache/cassandra/db/Slices$Builder;
           16   17     7             slice  Lorg/apache/cassandra/db/Slice;
           20   51     2         dataRange  Lorg/apache/cassandra/db/DataRange;
           21   51     3             range  Lorg/apache/cassandra/dht/AbstractBounds<Lorg/apache/cassandra/db/PartitionPosition;>;
           22   51     4             slice  Lorg/apache/cassandra/db/Slice;
           25   46     5          startKey  Lorg/apache/cassandra/db/DecoratedKey;
           26   46     6            endKey  Lorg/apache/cassandra/db/DecoratedKey;
           27   46     7             start  Lorg/apache/cassandra/db/ClusteringBound;
           28   46     8               end  Lorg/apache/cassandra/db/ClusteringBound;
           32   43     9  startSliceFilter  Lorg/apache/cassandra/db/filter/ClusteringIndexSliceFilter;
           35   43    10    endSliceFilter  Lorg/apache/cassandra/db/filter/ClusteringIndexSliceFilter;
           38   43    11       startSlices  Lorg/apache/cassandra/db/Slices;
           39   43    12         endSlices  Lorg/apache/cassandra/db/Slices;
    MethodParameters:
         Name  Flags
      command  

  private org.apache.cassandra.db.ClusteringBound makeIndexBound(java.nio.ByteBuffer, org.apache.cassandra.db.ClusteringBound);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringBound;)Lorg/apache/cassandra/db/ClusteringBound;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.ClusteringBound bound
         0: .line 179
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            aload 1 /* rowKey */
            aload 2 /* bound */
            aconst_null
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildIndexClusteringPrefix:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/rows/CellPath;)Lorg/apache/cassandra/db/CBuilder;
         1: .line 180
            aload 2 /* bound */
            invokevirtual org.apache.cassandra.db.ClusteringBound.isStart:()Z
            aload 2 /* bound */
            invokevirtual org.apache.cassandra.db.ClusteringBound.isInclusive:()Z
            invokevirtual org.apache.cassandra.db.CBuilder.buildBound:(ZZ)Lorg/apache/cassandra/db/ClusteringBound;
         2: .line 179
            areturn
        end local 2 // org.apache.cassandra.db.ClusteringBound bound
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0    3     1  rowKey  Ljava/nio/ByteBuffer;
            0    3     2   bound  Lorg/apache/cassandra/db/ClusteringBound;
    MethodParameters:
        Name  Flags
      rowKey  
      bound   

  protected org.apache.cassandra.db.Clustering makeIndexClustering(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;)Lorg/apache/cassandra/db/Clustering;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
         0: .line 185
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndexSearcher.index:Lorg/apache/cassandra/index/internal/CassandraIndex;
            aload 1 /* rowKey */
            aload 2 /* clustering */
            aconst_null
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildIndexClusteringPrefix:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/rows/CellPath;)Lorg/apache/cassandra/db/CBuilder;
            invokevirtual org.apache.cassandra.db.CBuilder.build:()Lorg/apache/cassandra/db/Clustering;
            areturn
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndexSearcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/index/internal/CassandraIndexSearcher;
            0    1     1      rowKey  Ljava/nio/ByteBuffer;
            0    1     2  clustering  Lorg/apache/cassandra/db/Clustering;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  

  protected abstract org.apache.cassandra.db.partitions.UnfilteredPartitionIterator queryDataFromIndex(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.rows.RowIterator, org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/RowIterator;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      indexKey             
      indexHits            
      command              
      executionController  
}
SourceFile: "CassandraIndexSearcher.java"
InnerClasses:
  public Builder = org.apache.cassandra.db.Slices$Builder of org.apache.cassandra.db.Slices
  public abstract Expression = org.apache.cassandra.db.filter.RowFilter$Expression of org.apache.cassandra.db.filter.RowFilter
  public abstract Searcher = org.apache.cassandra.index.Index$Searcher of org.apache.cassandra.index.Index
  public Builder = org.apache.cassandra.utils.btree.BTreeSet$Builder of org.apache.cassandra.utils.btree.BTreeSet