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

  public final org.apache.cassandra.db.ColumnFamilyStore baseCfs;
    descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  protected org.apache.cassandra.schema.IndexMetadata metadata;
    descriptor: Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.db.ColumnFamilyStore indexCfs;
    descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.config.ColumnDefinition indexedColumn;
    descriptor: Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.index.internal.CassandraIndexFunctions functions;
    descriptor: Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
    flags: (0x0004) ACC_PROTECTED

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$schema$IndexMetadata$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$cql3$statements$IndexTarget$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            ldc Lorg/apache/cassandra/index/internal/CassandraIndex;
            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.CassandraIndex.$assertionsDisabled:Z
         3: .line 74
            ldc Lorg/apache/cassandra/index/internal/CassandraIndex;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/IndexMetadata;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore baseCfs
        start local 2 // org.apache.cassandra.schema.IndexMetadata indexDef
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            aload 1 /* baseCfs */
            putfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
         2: .line 85
            aload 0 /* this */
            aload 2 /* indexDef */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.setMetadata:(Lorg/apache/cassandra/schema/IndexMetadata;)V
         3: .line 86
            return
        end local 2 // org.apache.cassandra.schema.IndexMetadata indexDef
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore baseCfs
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    4     1   baseCfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    4     2  indexDef  Lorg/apache/cassandra/schema/IndexMetadata;
    MethodParameters:
          Name  Flags
      baseCfs   
      indexDef  

  protected boolean supportsOperator(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.Operator);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.config.ColumnDefinition indexedColumn
        start local 2 // org.apache.cassandra.cql3.Operator operator
         0: .line 96
            aload 2 /* operator */
            getstatic org.apache.cassandra.cql3.Operator.EQ:Lorg/apache/cassandra/cql3/Operator;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.cql3.Operator operator
        end local 1 // org.apache.cassandra.config.ColumnDefinition indexedColumn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    2     1  indexedColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            0    2     2       operator  Lorg/apache/cassandra/cql3/Operator;
    MethodParameters:
               Name  Flags
      indexedColumn  
      operator       

  protected abstract org.apache.cassandra.db.CBuilder buildIndexClusteringPrefix(java.nio.ByteBuffer, org.apache.cassandra.db.ClusteringPrefix, org.apache.cassandra.db.rows.CellPath);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/rows/CellPath;)Lorg/apache/cassandra/db/CBuilder;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      partitionKey  
      prefix        
      path          

  public abstract org.apache.cassandra.index.internal.IndexEntry decodeEntry(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/index/internal/IndexEntry;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      indexedValue  
      indexEntry    

  public abstract boolean isStale(org.apache.cassandra.db.rows.Row, java.nio.ByteBuffer, int);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Ljava/nio/ByteBuffer;I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      row         
      indexValue  
      nowInSec    

  protected abstract java.nio.ByteBuffer getIndexedValue(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.CellPath, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/CellPath;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      partitionKey  
      clustering    
      path          
      cellValue     

  public org.apache.cassandra.config.ColumnDefinition getIndexedColumn();
    descriptor: ()Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 150
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  public org.apache.cassandra.db.ClusteringComparator getIndexComparator();
    descriptor: ()Lorg/apache/cassandra/db/ClusteringComparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 155
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  public org.apache.cassandra.db.ColumnFamilyStore getIndexCfs();
    descriptor: ()Lorg/apache/cassandra/db/ColumnFamilyStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 160
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  public void register(org.apache.cassandra.index.IndexRegistry);
    descriptor: (Lorg/apache/cassandra/index/IndexRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.index.IndexRegistry registry
         0: .line 165
            aload 1 /* registry */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.index.IndexRegistry.registerIndex:(Lorg/apache/cassandra/index/Index;)V
         1: .line 166
            return
        end local 1 // org.apache.cassandra.index.IndexRegistry registry
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    2     1  registry  Lorg/apache/cassandra/index/IndexRegistry;
    MethodParameters:
          Name  Flags
      registry  

  public java.util.concurrent.Callable<?> getInitializationTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 172
            aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.isBuilt:()Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isEmpty:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getBuildIndexTask:()Ljava/util/concurrent/Callable;
      StackMap locals:
      StackMap stack: java.util.concurrent.Callable
         3: areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Ljava/util/concurrent/Callable<*>;

  public org.apache.cassandra.schema.IndexMetadata getIndexMetadata();
    descriptor: ()Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 177
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  public java.util.Optional<org.apache.cassandra.db.ColumnFamilyStore> getBackingTable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 182
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            ifnonnull 1
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
      StackMap locals:
      StackMap stack: java.util.Optional
         2: areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Ljava/util/Optional<Lorg/apache/cassandra/db/ColumnFamilyStore;>;

  public java.util.concurrent.Callable<java.lang.Void> getBlockingFlushTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 187
            aload 0 /* this */
            invokedynamic call(Lorg/apache/cassandra/index/internal/CassandraIndex;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$0()Ljava/lang/Void; (7)
                  ()Ljava/lang/Void;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Ljava/util/concurrent/Callable<Ljava/lang/Void;>;

  public java.util.concurrent.Callable<?> getInvalidateTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 195
            aload 0 /* this */
            invokedynamic call(Lorg/apache/cassandra/index/internal/CassandraIndex;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$1()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Ljava/util/concurrent/Callable<*>;

  public java.util.concurrent.Callable<?> getMetadataReloadTask(org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.schema.IndexMetadata indexDef
         0: .line 203
            aload 0 /* this */
            invokedynamic call(Lorg/apache/cassandra/index/internal/CassandraIndex;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$2()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            areturn
        end local 1 // org.apache.cassandra.schema.IndexMetadata indexDef
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  indexDef  Lorg/apache/cassandra/schema/IndexMetadata;
    Signature: (Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/util/concurrent/Callable<*>;
    MethodParameters:
          Name  Flags
      indexDef  

  public void validate(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.ReadCommand command
         0: .line 213
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual org.apache.cassandra.db.ReadCommand.rowFilter:()Lorg/apache/cassandra/db/filter/RowFilter;
            invokevirtual org.apache.cassandra.db.filter.RowFilter.getExpressions:()Ljava/util/List;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getTargetExpression:(Ljava/util/List;)Ljava/util/Optional;
            astore 2 /* target */
        start local 2 // java.util.Optional target
         1: .line 215
            aload 2 /* target */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 7
         2: .line 217
            aload 2 /* target */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.filter.RowFilter$Expression
            invokevirtual org.apache.cassandra.db.filter.RowFilter$Expression.getIndexValue:()Ljava/nio/ByteBuffer;
            astore 3 /* indexValue */
        start local 3 // java.nio.ByteBuffer indexValue
         3: .line 218
            aload 3 /* indexValue */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ldc 65535
            if_icmple 4
            iconst_1
            goto 5
      StackMap locals: java.util.Optional java.nio.ByteBuffer
      StackMap stack:
         4: iconst_0
         5: .line 219
      StackMap locals:
      StackMap stack: int
            ldc "Index expression values may not be larger than 64K"
         6: .line 218
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkFalse:(ZLjava/lang/String;)V
        end local 3 // java.nio.ByteBuffer indexValue
         7: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Optional target
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    8     1     command  Lorg/apache/cassandra/db/ReadCommand;
            1    8     2      target  Ljava/util/Optional<Lorg/apache/cassandra/db/filter/RowFilter$Expression;>;
            3    7     3  indexValue  Ljava/nio/ByteBuffer;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
         Name  Flags
      command  

  private void setMetadata(org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/schema/IndexMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.schema.IndexMetadata indexDef
         0: .line 225
            aload 0 /* this */
            aload 1 /* indexDef */
            putfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
         1: .line 226
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* indexDef */
            invokestatic org.apache.cassandra.index.TargetParser.parse:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/utils/Pair;
            astore 2 /* target */
        start local 2 // org.apache.cassandra.utils.Pair target
         2: .line 227
            aload 0 /* this */
            aload 1 /* indexDef */
            aload 2 /* target */
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.getFunctions:(Lorg/apache/cassandra/schema/IndexMetadata;Lorg/apache/cassandra/utils/Pair;)Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            putfield org.apache.cassandra.index.internal.CassandraIndex.functions:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
         3: .line 228
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* indexDef */
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.indexCfsMetadata:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* cfm */
        start local 3 // org.apache.cassandra.config.CFMetaData cfm
         4: .line 229
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
         5: .line 230
            aload 3 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
         6: .line 231
            aload 3 /* cfm */
         7: .line 232
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            getfield org.apache.cassandra.db.lifecycle.Tracker.loadsstables:Z
         8: .line 229
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore:(Lorg/apache/cassandra/db/Keyspace;Ljava/lang/String;Lorg/apache/cassandra/config/CFMetaData;Z)Lorg/apache/cassandra/db/ColumnFamilyStore;
            putfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
         9: .line 233
            aload 0 /* this */
            aload 2 /* target */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            putfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
        10: .line 234
            return
        end local 3 // org.apache.cassandra.config.CFMetaData cfm
        end local 2 // org.apache.cassandra.utils.Pair target
        end local 1 // org.apache.cassandra.schema.IndexMetadata indexDef
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   11     1  indexDef  Lorg/apache/cassandra/schema/IndexMetadata;
            2   11     2    target  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;>;
            4   11     3       cfm  Lorg/apache/cassandra/config/CFMetaData;
    MethodParameters:
          Name  Flags
      indexDef  

  public java.util.concurrent.Callable<?> getTruncateTask(long);
    descriptor: (J)Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // long truncatedAt
         0: .line 238
            aload 0 /* this */
            lload 1 /* truncatedAt */
            invokedynamic call(Lorg/apache/cassandra/index/internal/CassandraIndex;J)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$3(J)Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            areturn
        end local 1 // long truncatedAt
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  truncatedAt  J
    Signature: (J)Ljava/util/concurrent/Callable<*>;
    MethodParameters:
             Name  Flags
      truncatedAt  final

  public boolean shouldBuildBlocking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 247
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  public boolean dependsOn(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
         0: .line 252
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aload 1 /* column */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  column  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
        Name  Flags
      column  

  public boolean supportsExpression(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.Operator);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
        start local 2 // org.apache.cassandra.cql3.Operator operator
         0: .line 257
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aload 1 /* column */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 258
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            aload 2 /* operator */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.supportsOperator:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
            ifeq 3
         2: .line 257
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.cql3.Operator operator
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    4     1    column  Lorg/apache/cassandra/config/ColumnDefinition;
            0    4     2  operator  Lorg/apache/cassandra/cql3/Operator;
    MethodParameters:
          Name  Flags
      column    
      operator  

  private boolean supportsExpression(org.apache.cassandra.db.filter.RowFilter$Expression);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.filter.RowFilter$Expression expression
         0: .line 263
            aload 0 /* this */
            aload 1 /* expression */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$Expression.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            aload 1 /* expression */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$Expression.operator:()Lorg/apache/cassandra/cql3/Operator;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.supportsExpression:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
            ireturn
        end local 1 // org.apache.cassandra.db.filter.RowFilter$Expression expression
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  expression  Lorg/apache/cassandra/db/filter/RowFilter$Expression;
    MethodParameters:
            Name  Flags
      expression  

  public org.apache.cassandra.db.marshal.AbstractType<?> customExpressionValueType();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 268
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public long getEstimatedResultRows();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 273
            lconst_0
            lstore 1 /* totalRows */
        start local 1 // long totalRows
         1: .line 274
            lconst_0
            lstore 3 /* totalPartitions */
        start local 3 // long totalPartitions
         2: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.CANONICAL:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTables:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex long long top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 5 /* sstable */
        start local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 277
            aload 5 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
            invokevirtual org.apache.cassandra.io.sstable.format.Version.storeRows:()Z
            ifeq 8
         5: .line 279
            lload 3 /* totalPartitions */
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getEstimatedPartitionSize:()Lorg/apache/cassandra/utils/EstimatedHistogram;
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram.count:()J
            ladd
            lstore 3 /* totalPartitions */
         6: .line 280
            lload 1 /* totalRows */
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getTotalRows:()J
            ladd
            lstore 1 /* totalRows */
         7: .line 281
            goto 11
         8: .line 286
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex long long org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getEstimatedColumnCount:()Lorg/apache/cassandra/utils/EstimatedHistogram;
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram.count:()J
            lstore 7 /* colCount */
        start local 7 // long colCount
         9: .line 287
            lload 3 /* totalPartitions */
            lload 7 /* colCount */
            ladd
            lstore 3 /* totalPartitions */
        10: .line 288
            lload 1 /* totalRows */
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getEstimatedColumnCount:()Lorg/apache/cassandra/utils/EstimatedHistogram;
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram.mean:()J
            lload 7 /* colCount */
            lmul
            ladd
            lstore 1 /* totalRows */
        end local 7 // long colCount
        end local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        11: .line 275
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex long long top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 292
            lload 3 /* totalPartitions */
            lconst_0
            lcmp
            ifle 13
            lload 1 /* totalRows */
            lload 3 /* totalPartitions */
            ldiv
            l2i
            goto 14
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex long long
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: i2l
            lreturn
        end local 3 // long totalPartitions
        end local 1 // long totalRows
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            1   15     1        totalRows  J
            2   15     3  totalPartitions  J
            4   11     5          sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            9   11     7         colCount  J

  public java.util.function.BiFunction<org.apache.cassandra.db.partitions.PartitionIterator, org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.partitions.PartitionIterator> postProcessorFor(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)Ljava/util/function/BiFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.ReadCommand command
         0: .line 300
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$4(Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/partitions/PartitionIterator; (6)
                  (Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  command  Lorg/apache/cassandra/db/ReadCommand;
    Signature: (Lorg/apache/cassandra/db/ReadCommand;)Ljava/util/function/BiFunction<Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/partitions/PartitionIterator;>;
    MethodParameters:
         Name  Flags
      command  

  public org.apache.cassandra.db.filter.RowFilter getPostIndexQueryFilter(org.apache.cassandra.db.filter.RowFilter);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter;)Lorg/apache/cassandra/db/filter/RowFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.filter.RowFilter filter
         0: .line 305
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual org.apache.cassandra.db.filter.RowFilter.getExpressions:()Ljava/util/List;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getTargetExpression:(Ljava/util/List;)Ljava/util/Optional;
            aload 1 /* filter */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lorg/apache/cassandra/db/filter/RowFilter;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/db/filter/RowFilter.without(Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Lorg/apache/cassandra/db/filter/RowFilter; (5)
                  (Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Lorg/apache/cassandra/db/filter/RowFilter;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         1: .line 306
            aload 1 /* filter */
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.filter.RowFilter
         2: .line 305
            areturn
        end local 1 // org.apache.cassandra.db.filter.RowFilter filter
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    3     1  filter  Lorg/apache/cassandra/db/filter/RowFilter;
    MethodParameters:
        Name  Flags
      filter  

  private java.util.Optional<org.apache.cassandra.db.filter.RowFilter$Expression> getTargetExpression(java.util.List<org.apache.cassandra.db.filter.RowFilter$Expression>);
    descriptor: (Ljava/util/List;)Ljava/util/Optional;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.util.List expressions
         0: .line 311
            aload 1 /* expressions */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lorg/apache/cassandra/index/internal/CassandraIndex;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/apache/cassandra/index/internal/CassandraIndex.supportsExpression(Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Z (7)
                  (Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            areturn
        end local 1 // java.util.List expressions
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  expressions  Ljava/util/List<Lorg/apache/cassandra/db/filter/RowFilter$Expression;>;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/db/filter/RowFilter$Expression;>;)Ljava/util/Optional<Lorg/apache/cassandra/db/filter/RowFilter$Expression;>;
    MethodParameters:
             Name  Flags
      expressions  

  public org.apache.cassandra.index.Index$Searcher searcherFor(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/index/Index$Searcher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.ReadCommand command
         0: .line 316
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual org.apache.cassandra.db.ReadCommand.rowFilter:()Lorg/apache/cassandra/db/filter/RowFilter;
            invokevirtual org.apache.cassandra.db.filter.RowFilter.getExpressions:()Ljava/util/List;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getTargetExpression:(Ljava/util/List;)Ljava/util/Optional;
            astore 2 /* target */
        start local 2 // java.util.Optional target
         1: .line 318
            aload 2 /* target */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 10
         2: .line 320
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$schema$IndexMetadata$Kind:()[I
            aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexMetadata:()Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.kind:Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            invokevirtual org.apache.cassandra.schema.IndexMetadata$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 4
                    2: 5
                    3: 3
              default: 5
          }
         3: .line 323
      StackMap locals: java.util.Optional
      StackMap stack:
            new org.apache.cassandra.index.internal.composites.CompositesSearcher
            dup
            aload 1 /* command */
            aload 2 /* target */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.filter.RowFilter$Expression
            aload 0 /* this */
            invokespecial org.apache.cassandra.index.internal.composites.CompositesSearcher.<init>:(Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/filter/RowFilter$Expression;Lorg/apache/cassandra/index/internal/CassandraIndex;)V
            areturn
         4: .line 325
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.index.internal.keys.KeysSearcher
            dup
            aload 1 /* command */
            aload 2 /* target */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.filter.RowFilter$Expression
            aload 0 /* this */
            invokespecial org.apache.cassandra.index.internal.keys.KeysSearcher.<init>:(Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/filter/RowFilter$Expression;Lorg/apache/cassandra/index/internal/CassandraIndex;)V
            areturn
         5: .line 327
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Unsupported index type %s for index %s on %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 328
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.kind:Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            aastore
            dup
            iconst_1
         7: .line 329
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
         8: .line 330
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toString:()Ljava/lang/String;
            aastore
         9: .line 327
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 334
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Optional target
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   11     1  command  Lorg/apache/cassandra/db/ReadCommand;
            1   11     2   target  Ljava/util/Optional<Lorg/apache/cassandra/db/filter/RowFilter$Expression;>;
    MethodParameters:
         Name  Flags
      command  

  public void validate(org.apache.cassandra.db.partitions.PartitionUpdate);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
         0: .line 340
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.kind:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 3
                    3: 5
                    4: 8
              default: 10
          }
         1: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validatePartitionKey:(Lorg/apache/cassandra/db/DecoratedKey;)V
         2: .line 344
            goto 10
         3: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateClusterings:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
         4: .line 347
            goto 10
         5: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.columns:()Lorg/apache/cassandra/db/PartitionColumns;
            getfield org.apache.cassandra.db.PartitionColumns.regulars:Lorg/apache/cassandra/db/Columns;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.Columns.contains:(Lorg/apache/cassandra/config/ColumnDefinition;)Z
            ifeq 10
         6: .line 350
            aload 0 /* this */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateRows:(Ljava/lang/Iterable;)V
         7: .line 351
            goto 10
         8: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.columns:()Lorg/apache/cassandra/db/PartitionColumns;
            getfield org.apache.cassandra.db.PartitionColumns.statics:Lorg/apache/cassandra/db/Columns;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.Columns.contains:(Lorg/apache/cassandra/config/ColumnDefinition;)Z
            ifeq 10
         9: .line 354
            aload 0 /* this */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.staticRow:()Lorg/apache/cassandra/db/rows/Row;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateRows:(Ljava/lang/Iterable;)V
        10: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   11     1  update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
        Name  Flags
      update  

  public org.apache.cassandra.index.Index$Indexer indexerFor(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.PartitionColumns, int, org.apache.cassandra.utils.concurrent.OpOrder$Group, org.apache.cassandra.index.transactions.IndexTransaction$Type);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;ILorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/index/transactions/IndexTransaction$Type;)Lorg/apache/cassandra/index/Index$Indexer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.DecoratedKey key
        start local 2 // org.apache.cassandra.db.PartitionColumns columns
        start local 3 // int nowInSec
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        start local 5 // org.apache.cassandra.index.transactions.IndexTransaction$Type transactionType
         0: .line 374
            aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.isPrimaryKeyIndex:()Z
            ifne 2
            aload 2 /* columns */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.PartitionColumns.contains:(Lorg/apache/cassandra/config/ColumnDefinition;)Z
            ifne 2
         1: .line 375
            aconst_null
            areturn
         2: .line 377
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.index.internal.CassandraIndex$1
            dup
            aload 0 /* this */
            iload 3 /* nowInSec */
            aload 1 /* key */
            aload 4 /* opGroup */
            invokespecial org.apache.cassandra.index.internal.CassandraIndex$1.<init>:(Lorg/apache/cassandra/index/internal/CassandraIndex;ILorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
            areturn
        end local 5 // org.apache.cassandra.index.transactions.IndexTransaction$Type transactionType
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // int nowInSec
        end local 2 // org.apache.cassandra.db.PartitionColumns columns
        end local 1 // org.apache.cassandra.db.DecoratedKey key
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    3     1              key  Lorg/apache/cassandra/db/DecoratedKey;
            0    3     2          columns  Lorg/apache/cassandra/db/PartitionColumns;
            0    3     3         nowInSec  I
            0    3     4          opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            0    3     5  transactionType  Lorg/apache/cassandra/index/transactions/IndexTransaction$Type;
    MethodParameters:
                 Name  Flags
      key              final
      columns          final
      nowInSec         final
      opGroup          final
      transactionType  final

  public void deleteStaleEntry(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.DeletionTime, org.apache.cassandra.utils.concurrent.OpOrder$Group);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        start local 2 // org.apache.cassandra.db.Clustering indexClustering
        start local 3 // org.apache.cassandra.db.DeletionTime deletion
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
         0: .line 532
            aload 0 /* this */
            aload 1 /* indexKey */
            aload 2 /* indexClustering */
            aload 3 /* deletion */
            aload 4 /* opGroup */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.doDelete:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
         1: .line 533
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "Removed index entry for stale value {}"
            aload 1 /* indexKey */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 534
            return
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // org.apache.cassandra.db.DeletionTime deletion
        end local 2 // org.apache.cassandra.db.Clustering indexClustering
        end local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    3     1         indexKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    3     2  indexClustering  Lorg/apache/cassandra/db/Clustering;
            0    3     3         deletion  Lorg/apache/cassandra/db/DeletionTime;
            0    3     4          opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
    MethodParameters:
                 Name  Flags
      indexKey         
      indexClustering  
      deletion         
      opGroup          

  private void insert(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.Cell, org.apache.cassandra.db.LivenessInfo, org.apache.cassandra.utils.concurrent.OpOrder$Group);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;Lorg/apache/cassandra/db/LivenessInfo;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.db.rows.Cell cell
        start local 4 // org.apache.cassandra.db.LivenessInfo info
        start local 5 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
         0: .line 545
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* rowKey */
         1: .line 546
            aload 2 /* clustering */
         2: .line 547
            aload 3 /* cell */
         3: .line 545
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexKeyFor:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 6 /* valueKey */
        start local 6 // org.apache.cassandra.db.DecoratedKey valueKey
         4: .line 548
            aload 0 /* this */
            aload 1 /* rowKey */
            aload 2 /* clustering */
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildIndexClustering:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Lorg/apache/cassandra/db/Clustering;
            aload 4 /* info */
            invokestatic org.apache.cassandra.db.rows.BTreeRow.noCellLiveRow:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/LivenessInfo;)Lorg/apache/cassandra/db/rows/BTreeRow;
            astore 7 /* row */
        start local 7 // org.apache.cassandra.db.rows.Row row
         5: .line 549
            aload 0 /* this */
            aload 6 /* valueKey */
            aload 7 /* row */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.partitionUpdate:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            astore 8 /* upd */
        start local 8 // org.apache.cassandra.db.partitions.PartitionUpdate upd
         6: .line 550
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 8 /* upd */
            getstatic org.apache.cassandra.index.transactions.UpdateTransaction.NO_OP:Lorg/apache/cassandra/index/transactions/UpdateTransaction;
            aload 5 /* opGroup */
            aconst_null
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.apply:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;Lorg/apache/cassandra/index/transactions/UpdateTransaction;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)V
         7: .line 551
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "Inserted entry into index for value {}"
            aload 6 /* valueKey */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 552
            return
        end local 8 // org.apache.cassandra.db.partitions.PartitionUpdate upd
        end local 7 // org.apache.cassandra.db.rows.Row row
        end local 6 // org.apache.cassandra.db.DecoratedKey valueKey
        end local 5 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 4 // org.apache.cassandra.db.LivenessInfo info
        end local 3 // org.apache.cassandra.db.rows.Cell cell
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    9     1      rowKey  Ljava/nio/ByteBuffer;
            0    9     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0    9     3        cell  Lorg/apache/cassandra/db/rows/Cell;
            0    9     4        info  Lorg/apache/cassandra/db/LivenessInfo;
            0    9     5     opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            4    9     6    valueKey  Lorg/apache/cassandra/db/DecoratedKey;
            5    9     7         row  Lorg/apache/cassandra/db/rows/Row;
            6    9     8         upd  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  
      cell        
      info        
      opGroup     

  private void delete(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.Cell, org.apache.cassandra.utils.concurrent.OpOrder$Group, int);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.db.rows.Cell cell
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        start local 5 // int nowInSec
         0: .line 563
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* rowKey */
         1: .line 564
            aload 2 /* clustering */
         2: .line 565
            aload 3 /* cell */
         3: .line 563
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexKeyFor:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 6 /* valueKey */
        start local 6 // org.apache.cassandra.db.DecoratedKey valueKey
         4: .line 566
            aload 0 /* this */
            aload 6 /* valueKey */
         5: .line 567
            aload 0 /* this */
            aload 1 /* rowKey */
            aload 2 /* clustering */
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildIndexClustering:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Lorg/apache/cassandra/db/Clustering;
         6: .line 568
            new org.apache.cassandra.db.DeletionTime
            dup
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
            iload 5 /* nowInSec */
            invokespecial org.apache.cassandra.db.DeletionTime.<init>:(JI)V
         7: .line 569
            aload 4 /* opGroup */
         8: .line 566
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.doDelete:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
         9: .line 570
            return
        end local 6 // org.apache.cassandra.db.DecoratedKey valueKey
        end local 5 // int nowInSec
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // org.apache.cassandra.db.rows.Cell cell
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   10     1      rowKey  Ljava/nio/ByteBuffer;
            0   10     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0   10     3        cell  Lorg/apache/cassandra/db/rows/Cell;
            0   10     4     opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            0   10     5    nowInSec  I
            4   10     6    valueKey  Lorg/apache/cassandra/db/DecoratedKey;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  
      cell        
      opGroup     
      nowInSec    

  private void delete(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.DeletionTime, org.apache.cassandra.utils.concurrent.OpOrder$Group);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.db.DeletionTime deletion
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
         0: .line 580
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* rowKey */
         1: .line 581
            aload 2 /* clustering */
         2: .line 582
            aconst_null
         3: .line 580
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexKeyFor:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 5 /* valueKey */
        start local 5 // org.apache.cassandra.db.DecoratedKey valueKey
         4: .line 583
            aload 0 /* this */
            aload 5 /* valueKey */
         5: .line 584
            aload 0 /* this */
            aload 1 /* rowKey */
            aload 2 /* clustering */
            aconst_null
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildIndexClustering:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Lorg/apache/cassandra/db/Clustering;
         6: .line 585
            aload 3 /* deletion */
         7: .line 586
            aload 4 /* opGroup */
         8: .line 583
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.doDelete:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
         9: .line 587
            return
        end local 5 // org.apache.cassandra.db.DecoratedKey valueKey
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // org.apache.cassandra.db.DeletionTime deletion
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   10     1      rowKey  Ljava/nio/ByteBuffer;
            0   10     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0   10     3    deletion  Lorg/apache/cassandra/db/DeletionTime;
            0   10     4     opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            4   10     5    valueKey  Lorg/apache/cassandra/db/DecoratedKey;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  
      deletion    
      opGroup     

  private void doDelete(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.DeletionTime, org.apache.cassandra.utils.concurrent.OpOrder$Group);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/DeletionTime;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        start local 2 // org.apache.cassandra.db.Clustering indexClustering
        start local 3 // org.apache.cassandra.db.DeletionTime deletion
        start local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
         0: .line 594
            aload 2 /* indexClustering */
            aload 3 /* deletion */
            invokestatic org.apache.cassandra.db.rows.Row$Deletion.regular:(Lorg/apache/cassandra/db/DeletionTime;)Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokestatic org.apache.cassandra.db.rows.BTreeRow.emptyDeletedRow:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Row$Deletion;)Lorg/apache/cassandra/db/rows/BTreeRow;
            astore 5 /* row */
        start local 5 // org.apache.cassandra.db.rows.Row row
         1: .line 595
            aload 0 /* this */
            aload 1 /* indexKey */
            aload 5 /* row */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.partitionUpdate:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            astore 6 /* upd */
        start local 6 // org.apache.cassandra.db.partitions.PartitionUpdate upd
         2: .line 596
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 6 /* upd */
            getstatic org.apache.cassandra.index.transactions.UpdateTransaction.NO_OP:Lorg/apache/cassandra/index/transactions/UpdateTransaction;
            aload 4 /* opGroup */
            aconst_null
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.apply:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;Lorg/apache/cassandra/index/transactions/UpdateTransaction;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)V
         3: .line 597
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "Removed index entry for value {}"
            aload 1 /* indexKey */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 598
            return
        end local 6 // org.apache.cassandra.db.partitions.PartitionUpdate upd
        end local 5 // org.apache.cassandra.db.rows.Row row
        end local 4 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 3 // org.apache.cassandra.db.DeletionTime deletion
        end local 2 // org.apache.cassandra.db.Clustering indexClustering
        end local 1 // org.apache.cassandra.db.DecoratedKey indexKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    5     1         indexKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    5     2  indexClustering  Lorg/apache/cassandra/db/Clustering;
            0    5     3         deletion  Lorg/apache/cassandra/db/DeletionTime;
            0    5     4          opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            1    5     5              row  Lorg/apache/cassandra/db/rows/Row;
            2    5     6              upd  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
    MethodParameters:
                 Name  Flags
      indexKey         
      indexClustering  
      deletion         
      opGroup          

  private void validatePartitionKey(org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.DecoratedKey partitionKey
         0: .line 602
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPartitionKey:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* partitionKey */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            aconst_null
            aconst_null
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateIndexedValue:(Ljava/nio/ByteBuffer;)V
         2: .line 604
            return
        end local 1 // org.apache.cassandra.db.DecoratedKey partitionKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    3     1  partitionKey  Lorg/apache/cassandra/db/DecoratedKey;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
              Name  Flags
      partitionKey  

  private void validateClusterings(org.apache.cassandra.db.partitions.PartitionUpdate);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
         0: .line 608
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isClusteringColumn:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 609
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex org.apache.cassandra.db.partitions.PartitionUpdate top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Row
            astore 2 /* row */
        start local 2 // org.apache.cassandra.db.rows.Row row
         3: .line 610
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            aload 2 /* row */
            invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
            aconst_null
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateIndexedValue:(Ljava/nio/ByteBuffer;)V
        end local 2 // org.apache.cassandra.db.rows.Row row
         4: .line 609
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 611
            return
        end local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    6     1  update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            3    4     2     row  Lorg/apache/cassandra/db/rows/Row;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
        Name  Flags
      update  

  private void validateRows(java.lang.Iterable<org.apache.cassandra.db.rows.Row>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.lang.Iterable rows
         0: .line 615
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 616
      StackMap locals:
      StackMap stack:
            aload 1 /* rows */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.lang.Iterable top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Row
            astore 2 /* row */
        start local 2 // org.apache.cassandra.db.rows.Row row
         3: .line 618
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            ifeq 11
         4: .line 620
            aload 2 /* row */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokeinterface org.apache.cassandra.db.rows.Row.getComplexColumnData:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/ComplexColumnData;
            astore 4 /* data */
        start local 4 // org.apache.cassandra.db.rows.ComplexColumnData data
         5: .line 621
            aload 4 /* data */
            ifnull 12
         6: .line 623
            aload 4 /* data */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.lang.Iterable org.apache.cassandra.db.rows.Row java.util.Iterator org.apache.cassandra.db.rows.ComplexColumnData top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 5 /* cell */
        start local 5 // org.apache.cassandra.db.rows.Cell cell
         8: .line 625
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 5 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
            aload 5 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/CellPath;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateIndexedValue:(Ljava/nio/ByteBuffer;)V
        end local 5 // org.apache.cassandra.db.rows.Cell cell
         9: .line 623
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // org.apache.cassandra.db.rows.ComplexColumnData data
        10: .line 628
            goto 12
        11: .line 631
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.lang.Iterable org.apache.cassandra.db.rows.Row java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 2 /* row */
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.validateIndexedValue:(Ljava/nio/ByteBuffer;)V
        end local 2 // org.apache.cassandra.db.rows.Row row
        12: .line 616
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        13: .line 634
            return
        end local 1 // java.lang.Iterable rows
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   14     1  rows  Ljava/lang/Iterable<Lorg/apache/cassandra/db/rows/Row;>;
            3   12     2   row  Lorg/apache/cassandra/db/rows/Row;
            5   10     4  data  Lorg/apache/cassandra/db/rows/ComplexColumnData;
            8    9     5  cell  Lorg/apache/cassandra/db/rows/Cell;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/db/rows/Row;>;)V
    MethodParameters:
      Name  Flags
      rows  

  private void validateIndexedValue(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer value
         0: .line 638
            aload 1 /* value */
            ifnull 10
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ldc 65535
            if_icmplt 10
         1: .line 639
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
         2: .line 640
            ldc "Cannot index value of size %d for index %s on %s.%s(%s) (maximum allowed size=%d)"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 641
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
         4: .line 642
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
         5: .line 643
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            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_3
         6: .line 644
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            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_4
         7: .line 645
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
         8: .line 646
            ldc 65535
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         9: .line 639
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 647
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer value
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0   11     1  value  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      value  

  private java.nio.ByteBuffer getIndexedValue(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.Cell);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.db.rows.Cell cell
         0: .line 653
            aload 0 /* this */
            aload 1 /* rowKey */
         1: .line 654
            aload 2 /* clustering */
         2: .line 655
            aload 3 /* cell */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering
         3: aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
         4: .line 656
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.CellPath
            aload 3 /* cell */
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.CellPath
         5: aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
         6: .line 653
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.CellPath java.nio.ByteBuffer
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/CellPath;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            areturn
        end local 3 // org.apache.cassandra.db.rows.Cell cell
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    7     1      rowKey  Ljava/nio/ByteBuffer;
            0    7     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0    7     3        cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  
      cell        

  private org.apache.cassandra.db.Clustering buildIndexClustering(java.nio.ByteBuffer, org.apache.cassandra.db.Clustering, org.apache.cassandra.db.rows.Cell);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/rows/Cell;)Lorg/apache/cassandra/db/Clustering;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer rowKey
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.db.rows.Cell cell
         0: .line 664
            aload 0 /* this */
            aload 1 /* rowKey */
         1: .line 665
            aload 2 /* clustering */
         2: .line 666
            aload 3 /* cell */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering
         3: aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
         4: .line 664
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.Cell
      StackMap stack: org.apache.cassandra.index.internal.CassandraIndex java.nio.ByteBuffer org.apache.cassandra.db.Clustering org.apache.cassandra.db.rows.CellPath
            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;
         5: .line 666
            invokevirtual org.apache.cassandra.db.CBuilder.build:()Lorg/apache/cassandra/db/Clustering;
         6: .line 664
            areturn
        end local 3 // org.apache.cassandra.db.rows.Cell cell
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // java.nio.ByteBuffer rowKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    7     1      rowKey  Ljava/nio/ByteBuffer;
            0    7     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0    7     3        cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
            Name  Flags
      rowKey      
      clustering  
      cell        

  private org.apache.cassandra.db.DecoratedKey getIndexKeyFor(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // java.nio.ByteBuffer value
         0: .line 671
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 1 /* value */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            areturn
        end local 1 // java.nio.ByteBuffer value
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  value  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      value  

  private org.apache.cassandra.db.partitions.PartitionUpdate partitionUpdate(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
        start local 1 // org.apache.cassandra.db.DecoratedKey valueKey
        start local 2 // org.apache.cassandra.db.rows.Row row
         0: .line 676
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* valueKey */
            aload 2 /* row */
            invokestatic org.apache.cassandra.db.partitions.PartitionUpdate.singleRowUpdate:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            areturn
        end local 2 // org.apache.cassandra.db.rows.Row row
        end local 1 // org.apache.cassandra.db.DecoratedKey valueKey
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            0    1     1  valueKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    1     2       row  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
          Name  Flags
      valueKey  
      row       

  private void invalidate();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 682
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            astore 1 /* cfss */
        start local 1 // java.util.Collection cfss
         1: .line 683
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 1 /* cfss */
            iconst_1
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.interruptCompactionForCFs:(Ljava/lang/Iterable;Z)V
         2: .line 684
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 1 /* cfss */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.waitForCessation:(Ljava/lang/Iterable;)V
         3: .line 685
            getstatic org.apache.cassandra.db.Keyspace.writeOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
            invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.awaitNewBarrier:()V
         4: .line 686
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.forceBlockingFlush:()Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            pop
         5: .line 687
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.readOrdering:Lorg/apache/cassandra/utils/concurrent/OpOrder;
            invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.awaitNewBarrier:()V
         6: .line 688
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.invalidate:()V
         7: .line 689
            return
        end local 1 // java.util.Collection cfss
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            1    8     1  cfss  Ljava/util/Collection<Lorg/apache/cassandra/db/ColumnFamilyStore;>;

  private boolean isBuilt();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 693
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.SystemKeyspace.isIndexBuilt:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  private boolean isPrimaryKeyIndex();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 698
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexedColumn:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ireturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;

  private java.util.concurrent.Callable<?> getBuildIndexTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 703
            aload 0 /* this */
            invokedynamic call(Lorg/apache/cassandra/index/internal/CassandraIndex;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/index/internal/CassandraIndex.lambda$7()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Signature: ()Ljava/util/concurrent/Callable<*>;

  private void buildBlocking();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 711
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.forceBlockingFlush:()Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            pop
         1: .line 713
            aconst_null
            astore 1
            aconst_null
            astore 2
         2: aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.CANONICAL:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokestatic org.apache.cassandra.db.lifecycle.View.selectFunction:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.selectAndReference:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/db/ColumnFamilyStore$RefViewFragment;
            astore 3 /* viewFragment */
        start local 3 // org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment viewFragment
         3: .line 714
            aload 3 /* viewFragment */
            getfield org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.refs:Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 4 /* sstables */
        start local 4 // org.apache.cassandra.utils.concurrent.Refs sstables
         4: .line 716
            aload 4 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.isEmpty:()Z
            ifeq 14
         5: .line 718
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "No SSTable data for {}.{} to build index {} from, marking empty index as built"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 719
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            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
         7: .line 720
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            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
         8: .line 721
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            aastore
         9: .line 718
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 722
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.markIndexBuilt:(Ljava/lang/String;)V
        11: .line 737
            aload 4 /* sstables */
            ifnull 12
            aload 4 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
      StackMap locals: org.apache.cassandra.index.internal.CassandraIndex java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment org.apache.cassandra.utils.concurrent.Refs
      StackMap stack:
        12: aload 3 /* viewFragment */
            ifnull 13
            aload 3 /* viewFragment */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.close:()V
        13: .line 723
      StackMap locals:
      StackMap stack:
            return
        14: .line 726
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "Submitting index build of {} for data in {}"
        15: .line 727
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
        16: .line 728
            aload 4 /* sstables */
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.getSSTableNames:(Ljava/util/Collection;)Ljava/lang/String;
        17: .line 726
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 730
            new org.apache.cassandra.index.internal.CollatedViewIndexBuilder
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
        19: .line 731
            aload 0 /* this */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
        20: .line 732
            new org.apache.cassandra.io.sstable.ReducingKeyIterator
            dup
            aload 4 /* sstables */
            invokespecial org.apache.cassandra.io.sstable.ReducingKeyIterator.<init>:(Ljava/util/Collection;)V
        21: .line 730
            invokespecial org.apache.cassandra.index.internal.CollatedViewIndexBuilder.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;Lorg/apache/cassandra/io/sstable/ReducingKeyIterator;)V
            astore 5 /* builder */
        start local 5 // org.apache.cassandra.index.SecondaryIndexBuilder builder
        22: .line 733
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 5 /* builder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitIndexBuild:(Lorg/apache/cassandra/index/SecondaryIndexBuilder;)Ljava/util/concurrent/Future;
            astore 6 /* future */
        start local 6 // java.util.concurrent.Future future
        23: .line 734
            aload 6 /* future */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            pop
        24: .line 735
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.forceBlockingFlush:()Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            pop
        25: .line 736
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.markIndexBuilt:(Ljava/lang/String;)V
        end local 6 // java.util.concurrent.Future future
        end local 5 // org.apache.cassandra.index.SecondaryIndexBuilder builder
        26: .line 737
            aload 4 /* sstables */
            ifnull 29
            aload 4 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 1
            aload 4 /* sstables */
            ifnull 28
            aload 4 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
        end local 4 // org.apache.cassandra.utils.concurrent.Refs sstables
      StackMap locals:
      StackMap stack:
        28: aload 1
            athrow
      StackMap locals:
      StackMap stack:
        29: aload 3 /* viewFragment */
            ifnull 37
            aload 3 /* viewFragment */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.close:()V
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 2
            aload 1
            ifnonnull 31
            aload 2
            astore 1
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 1
            aload 2
            if_acmpeq 32
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 3 /* viewFragment */
            ifnull 33
            aload 3 /* viewFragment */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.close:()V
        end local 3 // org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment viewFragment
      StackMap locals:
      StackMap stack:
        33: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 2
            aload 1
            ifnonnull 35
            aload 2
            astore 1
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 1
            aload 2
            if_acmpeq 36
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 1
            athrow
        37: .line 738
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndex.logger:Lorg/slf4j/Logger;
            ldc "Index build of {} complete"
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.metadata:Lorg/apache/cassandra/schema/IndexMetadata;
            getfield org.apache.cassandra.schema.IndexMetadata.name:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        38: .line 739
            return
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0          this  Lorg/apache/cassandra/index/internal/CassandraIndex;
            3   33     3  viewFragment  Lorg/apache/cassandra/db/ColumnFamilyStore$RefViewFragment;
            4   28     4      sstables  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           22   26     5       builder  Lorg/apache/cassandra/index/SecondaryIndexBuilder;
           23   26     6        future  Ljava/util/concurrent/Future<*>;
      Exception table:
        from    to  target  type
           4    11      27  any
          14    26      27  any
           3    12      30  any
          14    29      30  any
           2    13      34  any
          14    34      34  any

  private static java.lang.String getSSTableNames(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection sstables
         0: .line 743
            aload 0 /* sstables */
            invokeinterface java.util.Collection.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 744
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/io/sstable/SSTable.toString()Ljava/lang/String; (5)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 745
            ldc ", "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         3: .line 743
            areturn
        end local 0 // java.util.Collection sstables
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Ljava/lang/String;
    MethodParameters:
          Name  Flags
      sstables  

  public static final org.apache.cassandra.config.CFMetaData indexCfsMetadata(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData baseCfsMetadata
        start local 1 // org.apache.cassandra.schema.IndexMetadata indexMetadata
         0: .line 757
            aload 0 /* baseCfsMetadata */
            aload 1 /* indexMetadata */
            invokestatic org.apache.cassandra.index.TargetParser.parse:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/utils/Pair;
            astore 2 /* target */
        start local 2 // org.apache.cassandra.utils.Pair target
         1: .line 758
            aload 1 /* indexMetadata */
            aload 2 /* target */
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.getFunctions:(Lorg/apache/cassandra/schema/IndexMetadata;Lorg/apache/cassandra/utils/Pair;)Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            astore 3 /* utils */
        start local 3 // org.apache.cassandra.index.internal.CassandraIndexFunctions utils
         2: .line 759
            aload 2 /* target */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 4 /* indexedColumn */
        start local 4 // org.apache.cassandra.config.ColumnDefinition indexedColumn
         3: .line 760
            aload 3 /* utils */
            aload 4 /* indexedColumn */
            invokeinterface org.apache.cassandra.index.internal.CassandraIndexFunctions.getIndexedValueType:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 5 /* indexedValueType */
        start local 5 // org.apache.cassandra.db.marshal.AbstractType indexedValueType
         4: .line 763
            aload 1 /* indexMetadata */
            invokevirtual org.apache.cassandra.schema.IndexMetadata.isKeys:()Z
            ifeq 10
         5: .line 764
            aload 0 /* baseCfsMetadata */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
         6: .line 765
            aload 0 /* baseCfsMetadata */
            aload 1 /* indexMetadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.indexColumnFamilyName:(Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/lang/String;
         7: .line 766
            iconst_1
            iconst_0
            iconst_0
         8: .line 764
            invokestatic org.apache.cassandra.config.CFMetaData$Builder.create:(Ljava/lang/String;Ljava/lang/String;ZZZ)Lorg/apache/cassandra/config/CFMetaData$Builder;
         9: .line 766
            goto 13
        10: .line 767
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.schema.IndexMetadata org.apache.cassandra.utils.Pair org.apache.cassandra.index.internal.CassandraIndexFunctions org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.marshal.AbstractType
      StackMap stack:
            aload 0 /* baseCfsMetadata */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
        11: .line 768
            aload 0 /* baseCfsMetadata */
            aload 1 /* indexMetadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.indexColumnFamilyName:(Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/lang/String;
        12: .line 767
            invokestatic org.apache.cassandra.config.CFMetaData$Builder.create:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData$Builder;
        13: .line 763
      StackMap locals:
      StackMap stack: org.apache.cassandra.config.CFMetaData$Builder
            astore 6 /* builder */
        start local 6 // org.apache.cassandra.config.CFMetaData$Builder builder
        14: .line 770
            aload 6 /* builder */
            aload 0 /* baseCfsMetadata */
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.withId:(Ljava/util/UUID;)Lorg/apache/cassandra/config/CFMetaData$Builder;
        15: .line 771
            new org.apache.cassandra.dht.LocalPartitioner
            dup
            aload 5 /* indexedValueType */
            invokespecial org.apache.cassandra.dht.LocalPartitioner.<init>:(Lorg/apache/cassandra/db/marshal/AbstractType;)V
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.withPartitioner:(Lorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/config/CFMetaData$Builder;
        16: .line 772
            aload 4 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aload 4 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.addPartitionKey:(Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder;
        17: .line 773
            ldc "partition_key"
            aload 0 /* baseCfsMetadata */
            getfield org.apache.cassandra.config.CFMetaData.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
            invokeinterface org.apache.cassandra.dht.IPartitioner.partitionOrdering:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.addClusteringColumn:(Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder;
        18: .line 770
            astore 6 /* builder */
        19: .line 775
            aload 1 /* indexMetadata */
            invokevirtual org.apache.cassandra.schema.IndexMetadata.isKeys:()Z
            ifeq 24
        20: .line 780
            aload 4 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toString:()Ljava/lang/String;
            ldc "partition_key"
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            invokestatic org.apache.cassandra.db.CompactTables.defaultNameGenerator:(Ljava/util/Set;)Lorg/apache/cassandra/db/CompactTables$DefaultNames;
        21: .line 779
            astore 7 /* names */
        start local 7 // org.apache.cassandra.db.CompactTables$DefaultNames names
        22: .line 781
            aload 6 /* builder */
            aload 7 /* names */
            invokevirtual org.apache.cassandra.db.CompactTables$DefaultNames.defaultCompactValueName:()Ljava/lang/String;
            getstatic org.apache.cassandra.db.marshal.EmptyType.instance:Lorg/apache/cassandra/db/marshal/EmptyType;
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.addRegularColumn:(Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder;
            astore 6 /* builder */
        end local 7 // org.apache.cassandra.db.CompactTables$DefaultNames names
        23: .line 782
            goto 25
        24: .line 787
      StackMap locals: org.apache.cassandra.config.CFMetaData$Builder
      StackMap stack:
            aload 3 /* utils */
            aload 6 /* builder */
            aload 0 /* baseCfsMetadata */
            aload 4 /* indexedColumn */
            invokeinterface org.apache.cassandra.index.internal.CassandraIndexFunctions.addIndexClusteringColumns:(Lorg/apache/cassandra/config/CFMetaData$Builder;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/CFMetaData$Builder;
            astore 6 /* builder */
        25: .line 790
      StackMap locals:
      StackMap stack:
            aload 6 /* builder */
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.build:()Lorg/apache/cassandra/config/CFMetaData;
            aload 0 /* baseCfsMetadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.reloadIndexMetadataProperties:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/config/CFMetaData;
            areturn
        end local 6 // org.apache.cassandra.config.CFMetaData$Builder builder
        end local 5 // org.apache.cassandra.db.marshal.AbstractType indexedValueType
        end local 4 // org.apache.cassandra.config.ColumnDefinition indexedColumn
        end local 3 // org.apache.cassandra.index.internal.CassandraIndexFunctions utils
        end local 2 // org.apache.cassandra.utils.Pair target
        end local 1 // org.apache.cassandra.schema.IndexMetadata indexMetadata
        end local 0 // org.apache.cassandra.config.CFMetaData baseCfsMetadata
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0   baseCfsMetadata  Lorg/apache/cassandra/config/CFMetaData;
            0   26     1     indexMetadata  Lorg/apache/cassandra/schema/IndexMetadata;
            1   26     2            target  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;>;
            2   26     3             utils  Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            3   26     4     indexedColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            4   26     5  indexedValueType  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
           14   26     6           builder  Lorg/apache/cassandra/config/CFMetaData$Builder;
           22   23     7             names  Lorg/apache/cassandra/db/CompactTables$DefaultNames;
    MethodParameters:
                 Name  Flags
      baseCfsMetadata  
      indexMetadata    

  public static org.apache.cassandra.index.internal.CassandraIndex newIndex(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/index/internal/CassandraIndex;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore baseCfs
        start local 1 // org.apache.cassandra.schema.IndexMetadata indexMetadata
         0: .line 801
            aload 1 /* indexMetadata */
            aload 0 /* baseCfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* indexMetadata */
            invokestatic org.apache.cassandra.index.TargetParser.parse:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/utils/Pair;
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.getFunctions:(Lorg/apache/cassandra/schema/IndexMetadata;Lorg/apache/cassandra/utils/Pair;)Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            aload 0 /* baseCfs */
            aload 1 /* indexMetadata */
            invokeinterface org.apache.cassandra.index.internal.CassandraIndexFunctions.newIndexInstance:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/IndexMetadata;)Lorg/apache/cassandra/index/internal/CassandraIndex;
            areturn
        end local 1 // org.apache.cassandra.schema.IndexMetadata indexMetadata
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore baseCfs
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        baseCfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    1     1  indexMetadata  Lorg/apache/cassandra/schema/IndexMetadata;
    MethodParameters:
               Name  Flags
      baseCfs        
      indexMetadata  

  static org.apache.cassandra.index.internal.CassandraIndexFunctions getFunctions(org.apache.cassandra.schema.IndexMetadata, org.apache.cassandra.utils.Pair<org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.statements.IndexTarget$Type>);
    descriptor: (Lorg/apache/cassandra/schema/IndexMetadata;Lorg/apache/cassandra/utils/Pair;)Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.schema.IndexMetadata indexDef
        start local 1 // org.apache.cassandra.utils.Pair target
         0: .line 807
            aload 0 /* indexDef */
            invokevirtual org.apache.cassandra.schema.IndexMetadata.isKeys:()Z
            ifeq 2
         1: .line 808
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.KEYS_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
         2: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 2 /* indexedColumn */
        start local 2 // org.apache.cassandra.config.ColumnDefinition indexedColumn
         3: .line 811
            aload 2 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCollection:()Z
            ifeq 12
            aload 2 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isMultiCell:()Z
            ifeq 12
         4: .line 813
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:()[I
            aload 2 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.CollectionType
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 7
                    2: 6
                    3: 5
              default: 12
          }
         5: .line 816
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.COLLECTION_VALUE_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
         6: .line 818
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.COLLECTION_KEY_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
         7: .line 820
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$cql3$statements$IndexTarget$Type:()[I
            aload 1 /* target */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.statements.IndexTarget$Type
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 10
                    2: 8
                    3: 9
              default: 11
          }
         8: .line 823
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.COLLECTION_KEY_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
         9: .line 825
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.COLLECTION_ENTRY_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
        10: .line 827
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.COLLECTION_VALUE_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
        11: .line 829
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 830
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:()[I
        13: .line 833
            aload 2 /* indexedColumn */
            getfield org.apache.cassandra.config.ColumnDefinition.kind:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 16
                    2: 14
                    3: 15
                    4: 15
              default: 17
          }
        14: .line 836
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.CLUSTERING_COLUMN_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
        15: .line 839
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.REGULAR_COLUMN_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
        16: .line 841
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.index.internal.CassandraIndexFunctions.PARTITION_KEY_INDEX_FUNCTIONS:Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
            areturn
        17: .line 845
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // org.apache.cassandra.config.ColumnDefinition indexedColumn
        end local 1 // org.apache.cassandra.utils.Pair target
        end local 0 // org.apache.cassandra.schema.IndexMetadata indexDef
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0       indexDef  Lorg/apache/cassandra/schema/IndexMetadata;
            0   18     1         target  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;>;
            3   18     2  indexedColumn  Lorg/apache/cassandra/config/ColumnDefinition;
    Signature: (Lorg/apache/cassandra/schema/IndexMetadata;Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;>;)Lorg/apache/cassandra/index/internal/CassandraIndexFunctions;
    MethodParameters:
          Name  Flags
      indexDef  
      target    

  static int[] $SWITCH_TABLE$org$apache$cassandra$schema$IndexMetadata$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$schema$IndexMetadata$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.schema.IndexMetadata$Kind.values:()[Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.schema.IndexMetadata$Kind.COMPOSITES:Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            invokevirtual org.apache.cassandra.schema.IndexMetadata$Kind.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.schema.IndexMetadata$Kind.CUSTOM:Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            invokevirtual org.apache.cassandra.schema.IndexMetadata$Kind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.schema.IndexMetadata$Kind.KEYS:Lorg/apache/cassandra/schema/IndexMetadata$Kind;
            invokevirtual org.apache.cassandra.schema.IndexMetadata$Kind.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$schema$IndexMetadata$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.config.ColumnDefinition$Kind.values:()[Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.CLUSTERING:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.PARTITION_KEY:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.REGULAR:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.STATIC:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$cassandra$cql3$statements$IndexTarget$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$cql3$statements$IndexTarget$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.cql3.statements.IndexTarget$Type.values:()[Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.cql3.statements.IndexTarget$Type.FULL:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.cql3.statements.IndexTarget$Type.KEYS:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.cql3.statements.IndexTarget$Type.KEYS_AND_VALUES:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.cql3.statements.IndexTarget$Type.SIMPLE:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.cassandra.cql3.statements.IndexTarget$Type.VALUES:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$cql3$statements$IndexTarget$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.db.marshal.CollectionType$Kind.values:()[Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.LIST:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.MAP:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.SET:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.cassandra.index.internal.CassandraIndex.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  private java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 188
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.forceBlockingFlush:()Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            pop
         1: .line 189
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$1();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 196
            aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.invalidate:()V
         1: .line 197
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$2();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 204
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.baseCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.reloadIndexMetadataProperties:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/config/CFMetaData;
            pop
         1: .line 205
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.reload:()V
         2: .line 206
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$3(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 239
            aload 0 /* this */
            getfield org.apache.cassandra.index.internal.CassandraIndex.indexCfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            lload 1
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.discardSSTables:(J)V
         1: .line 240
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Exceptions:
      throws java.lang.Exception

  private static org.apache.cassandra.db.partitions.PartitionIterator lambda$4(org.apache.cassandra.db.partitions.PartitionIterator, org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.partitions.PartitionIterator partitionIterator
        start local 1 // org.apache.cassandra.db.ReadCommand readCommand
         0: .line 300
            aload 0 /* partitionIterator */
            areturn
        end local 1 // org.apache.cassandra.db.ReadCommand readCommand
        end local 0 // org.apache.cassandra.db.partitions.PartitionIterator partitionIterator
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0  partitionIterator  Lorg/apache/cassandra/db/partitions/PartitionIterator;
            0    1     1        readCommand  Lorg/apache/cassandra/db/ReadCommand;

  private java.lang.Object lambda$7();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.internal.CassandraIndex this
         0: .line 704
            aload 0 /* this */
            invokevirtual org.apache.cassandra.index.internal.CassandraIndex.buildBlocking:()V
         1: .line 705
            aconst_null
            areturn
        end local 0 // org.apache.cassandra.index.internal.CassandraIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/index/internal/CassandraIndex;
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "CassandraIndex.java"
NestMembers:
  org.apache.cassandra.index.internal.CassandraIndex$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.apache.cassandra.config.CFMetaData$Builder of org.apache.cassandra.config.CFMetaData
  public final Kind = org.apache.cassandra.config.ColumnDefinition$Kind of org.apache.cassandra.config.ColumnDefinition
  public final Type = org.apache.cassandra.cql3.statements.IndexTarget$Type of org.apache.cassandra.cql3.statements.IndexTarget
  public RefViewFragment = org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment of org.apache.cassandra.db.ColumnFamilyStore
  public DefaultNames = org.apache.cassandra.db.CompactTables$DefaultNames of org.apache.cassandra.db.CompactTables
  public abstract Expression = org.apache.cassandra.db.filter.RowFilter$Expression of org.apache.cassandra.db.filter.RowFilter
  public abstract Kind = org.apache.cassandra.db.marshal.CollectionType$Kind of org.apache.cassandra.db.marshal.CollectionType
  public Deletion = org.apache.cassandra.db.rows.Row$Deletion of org.apache.cassandra.db.rows.Row
  public abstract Indexer = org.apache.cassandra.index.Index$Indexer of org.apache.cassandra.index.Index
  public abstract Searcher = org.apache.cassandra.index.Index$Searcher of org.apache.cassandra.index.Index
  org.apache.cassandra.index.internal.CassandraIndex$1
  public final Type = org.apache.cassandra.index.transactions.IndexTransaction$Type of org.apache.cassandra.index.transactions.IndexTransaction
  public final Kind = org.apache.cassandra.schema.IndexMetadata$Kind of org.apache.cassandra.schema.IndexMetadata
  public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder