public class org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction extends org.apache.cassandra.cql3.restrictions.MultiColumnRestriction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction
  super_class: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction
{
  private final org.apache.cassandra.cql3.restrictions.TermSlice slice;
    descriptor: Lorg/apache/cassandra/cql3/restrictions/TermSlice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.util.List<org.apache.cassandra.config.ColumnDefinition>, org.apache.cassandra.cql3.statements.Bound, boolean, org.apache.cassandra.cql3.Term);
    descriptor: (Ljava/util/List;Lorg/apache/cassandra/cql3/statements/Bound;ZLorg/apache/cassandra/cql3/Term;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // java.util.List columnDefs
        start local 2 // org.apache.cassandra.cql3.statements.Bound bound
        start local 3 // boolean inclusive
        start local 4 // org.apache.cassandra.cql3.Term term
         0: .line 328
            aload 0 /* this */
            aload 1 /* columnDefs */
            aload 2 /* bound */
            iload 3 /* inclusive */
            aload 4 /* term */
            invokestatic org.apache.cassandra.cql3.restrictions.TermSlice.newInstance:(Lorg/apache/cassandra/cql3/statements/Bound;ZLorg/apache/cassandra/cql3/Term;)Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            invokespecial org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.<init>:(Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/TermSlice;)V
         1: .line 329
            return
        end local 4 // org.apache.cassandra.cql3.Term term
        end local 3 // boolean inclusive
        end local 2 // org.apache.cassandra.cql3.statements.Bound bound
        end local 1 // java.util.List columnDefs
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    2     1  columnDefs  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;
            0    2     2       bound  Lorg/apache/cassandra/cql3/statements/Bound;
            0    2     3   inclusive  Z
            0    2     4        term  Lorg/apache/cassandra/cql3/Term;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;Lorg/apache/cassandra/cql3/statements/Bound;ZLorg/apache/cassandra/cql3/Term;)V
    MethodParameters:
            Name  Flags
      columnDefs  
      bound       
      inclusive   
      term        

  void <init>(java.util.List<org.apache.cassandra.config.ColumnDefinition>, org.apache.cassandra.cql3.restrictions.TermSlice);
    descriptor: (Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/TermSlice;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // java.util.List columnDefs
        start local 2 // org.apache.cassandra.cql3.restrictions.TermSlice slice
         0: .line 333
            aload 0 /* this */
            aload 1 /* columnDefs */
            invokespecial org.apache.cassandra.cql3.restrictions.MultiColumnRestriction.<init>:(Ljava/util/List;)V
         1: .line 334
            aload 0 /* this */
            aload 2 /* slice */
            putfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
         2: .line 335
            return
        end local 2 // org.apache.cassandra.cql3.restrictions.TermSlice slice
        end local 1 // java.util.List columnDefs
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    3     1  columnDefs  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;
            0    3     2       slice  Lorg/apache/cassandra/cql3/restrictions/TermSlice;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;Lorg/apache/cassandra/cql3/restrictions/TermSlice;)V
    MethodParameters:
            Name  Flags
      columnDefs  
      slice       

  public boolean isSlice();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
         0: .line 340
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;

  public org.apache.cassandra.db.MultiCBuilder appendTo(org.apache.cassandra.db.MultiCBuilder, org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/db/MultiCBuilder;Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/db/MultiCBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.db.MultiCBuilder builder
        start local 2 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 346
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.apache.cassandra.cql3.QueryOptions options
        end local 1 // org.apache.cassandra.db.MultiCBuilder builder
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    1     1  builder  Lorg/apache/cassandra/db/MultiCBuilder;
            0    1     2  options  Lorg/apache/cassandra/cql3/QueryOptions;
    MethodParameters:
         Name  Flags
      builder  
      options  

  public org.apache.cassandra.db.MultiCBuilder appendBoundTo(org.apache.cassandra.db.MultiCBuilder, org.apache.cassandra.cql3.statements.Bound, org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/db/MultiCBuilder;Lorg/apache/cassandra/cql3/statements/Bound;Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/db/MultiCBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=16, args_size=4
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.db.MultiCBuilder builder
        start local 2 // org.apache.cassandra.cql3.statements.Bound bound
        start local 3 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 352
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isReversedType:()Z
            istore 4 /* reversed */
        start local 4 // boolean reversed
         1: .line 354
            new java.util.EnumMap
            dup
            ldc Lorg/apache/cassandra/cql3/statements/Bound;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            astore 5 /* componentBounds */
        start local 5 // java.util.EnumMap componentBounds
         2: .line 355
            aload 5 /* componentBounds */
            getstatic org.apache.cassandra.cql3.statements.Bound.START:Lorg/apache/cassandra/cql3/statements/Bound;
            aload 0 /* this */
            getstatic org.apache.cassandra.cql3.statements.Bound.START:Lorg/apache/cassandra/cql3/statements/Bound;
            aload 3 /* options */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.componentBounds:(Lorg/apache/cassandra/cql3/statements/Bound;Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/List;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 356
            aload 5 /* componentBounds */
            getstatic org.apache.cassandra.cql3.statements.Bound.END:Lorg/apache/cassandra/cql3/statements/Bound;
            aload 0 /* this */
            getstatic org.apache.cassandra.cql3.statements.Bound.END:Lorg/apache/cassandra/cql3/statements/Bound;
            aload 3 /* options */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.componentBounds:(Lorg/apache/cassandra/cql3/statements/Bound;Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/List;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 358
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* toAdd */
        start local 6 // java.util.List toAdd
         5: .line 359
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* values */
        start local 7 // java.util.List values
         6: .line 361
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 9 /* m */
        start local 9 // int m
         8: goto 35
         9: .line 363
      StackMap locals: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction org.apache.cassandra.db.MultiCBuilder org.apache.cassandra.cql3.statements.Bound org.apache.cassandra.cql3.QueryOptions int java.util.EnumMap java.util.List java.util.List int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 10 /* column */
        start local 10 // org.apache.cassandra.config.ColumnDefinition column
        10: .line 364
            aload 2 /* bound */
            aload 10 /* column */
            invokevirtual org.apache.cassandra.cql3.statements.Bound.reverseIfNeeded:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/cql3/statements/Bound;
            astore 11 /* b */
        start local 11 // org.apache.cassandra.cql3.statements.Bound b
        11: .line 367
            iload 4 /* reversed */
            aload 10 /* column */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isReversedType:()Z
            if_icmpeq 30
        12: .line 369
            aload 10 /* column */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isReversedType:()Z
            istore 4 /* reversed */
        13: .line 371
            aload 6 /* toAdd */
            aload 7 /* values */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 374
            aload 0 /* this */
            aload 11 /* b */
            iload 8 /* i */
            aload 5 /* componentBounds */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.hasComponent:(Lorg/apache/cassandra/cql3/statements/Bound;ILjava/util/EnumMap;)Z
            ifne 16
        15: .line 375
            goto 34
        16: .line 378
      StackMap locals: org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.cql3.statements.Bound
      StackMap stack:
            aload 0 /* this */
            aload 11 /* b */
            invokevirtual org.apache.cassandra.cql3.statements.Bound.reverse:()Lorg/apache/cassandra/cql3/statements/Bound;
            iload 8 /* i */
            aload 5 /* componentBounds */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.hasComponent:(Lorg/apache/cassandra/cql3/statements/Bound;ILjava/util/EnumMap;)Z
            ifeq 18
        17: .line 379
            aload 6 /* toAdd */
            aload 7 /* values */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 382
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* values */
        19: .line 384
            aload 5 /* componentBounds */
            aload 11 /* b */
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* vals */
        start local 12 // java.util.List vals
        20: .line 386
            iload 8 /* i */
            aload 12 /* vals */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            istore 13 /* n */
        start local 13 // int n
        21: .line 387
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        22: goto 29
        23: .line 389
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 12 /* vals */
            iload 14 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
        24: .line 390
            ldc "Invalid null value in condition for column %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 391
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            iload 14 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
        26: .line 389
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 15 /* v */
        start local 15 // java.nio.ByteBuffer v
        27: .line 392
            aload 7 /* values */
            aload 15 /* v */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.nio.ByteBuffer v
        28: .line 387
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 14 /* j */
            iload 13 /* n */
            if_icmplt 23
        end local 14 // int j
        end local 13 // int n
        end local 12 // java.util.List vals
        30: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* b */
            iload 8 /* i */
            aload 5 /* componentBounds */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.hasComponent:(Lorg/apache/cassandra/cql3/statements/Bound;ILjava/util/EnumMap;)Z
            ifne 32
        31: .line 397
            goto 34
        32: .line 399
      StackMap locals:
      StackMap stack:
            aload 5 /* componentBounds */
            aload 11 /* b */
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            ldc "Invalid null value in condition for column %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 12 /* v */
        start local 12 // java.nio.ByteBuffer v
        33: .line 400
            aload 7 /* values */
            aload 12 /* v */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.nio.ByteBuffer v
        end local 11 // org.apache.cassandra.cql3.statements.Bound b
        end local 10 // org.apache.cassandra.config.ColumnDefinition column
        34: .line 361
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* i */
            iload 9 /* m */
            if_icmplt 9
        end local 9 // int m
        end local 8 // int i
        36: .line 402
            aload 6 /* toAdd */
            aload 7 /* values */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 404
            aload 2 /* bound */
            invokevirtual org.apache.cassandra.cql3.statements.Bound.isEnd:()Z
            ifeq 39
        38: .line 405
            aload 6 /* toAdd */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        39: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            aload 6 /* toAdd */
            invokevirtual org.apache.cassandra.db.MultiCBuilder.addAllElementsToAll:(Ljava/util/List;)Lorg/apache/cassandra/db/MultiCBuilder;
            areturn
        end local 7 // java.util.List values
        end local 6 // java.util.List toAdd
        end local 5 // java.util.EnumMap componentBounds
        end local 4 // boolean reversed
        end local 3 // org.apache.cassandra.cql3.QueryOptions options
        end local 2 // org.apache.cassandra.cql3.statements.Bound bound
        end local 1 // org.apache.cassandra.db.MultiCBuilder builder
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   40     0             this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0   40     1          builder  Lorg/apache/cassandra/db/MultiCBuilder;
            0   40     2            bound  Lorg/apache/cassandra/cql3/statements/Bound;
            0   40     3          options  Lorg/apache/cassandra/cql3/QueryOptions;
            1   40     4         reversed  Z
            2   40     5  componentBounds  Ljava/util/EnumMap<Lorg/apache/cassandra/cql3/statements/Bound;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
            5   40     6            toAdd  Ljava/util/List<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
            6   40     7           values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            7   36     8                i  I
            8   36     9                m  I
           10   34    10           column  Lorg/apache/cassandra/config/ColumnDefinition;
           11   34    11                b  Lorg/apache/cassandra/cql3/statements/Bound;
           20   30    12             vals  Ljava/util/List<Ljava/nio/ByteBuffer;>;
           21   30    13                n  I
           22   30    14                j  I
           27   28    15                v  Ljava/nio/ByteBuffer;
           33   34    12                v  Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      builder  
      bound    
      options  

  protected boolean isSupportedBy(org.apache.cassandra.index.Index);
    descriptor: (Lorg/apache/cassandra/index/Index;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.index.Index index
         0: .line 413
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction org.apache.cassandra.index.Index top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 2 /* def */
        start local 2 // org.apache.cassandra.config.ColumnDefinition def
         2: .line 414
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 2 /* def */
            aload 1 /* index */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.isSupportedBy:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/index/Index;)Z
            ifeq 4
         3: .line 415
            iconst_1
            ireturn
        end local 2 // org.apache.cassandra.config.ColumnDefinition def
         4: .line 413
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 416
            iconst_0
            ireturn
        end local 1 // org.apache.cassandra.index.Index index
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    6     1  index  Lorg/apache/cassandra/index/Index;
            2    4     2    def  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
       Name  Flags
      index  

  public boolean hasBound(org.apache.cassandra.cql3.statements.Bound);
    descriptor: (Lorg/apache/cassandra/cql3/statements/Bound;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.cql3.statements.Bound bound
         0: .line 422
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 1 /* bound */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ireturn
        end local 1 // org.apache.cassandra.cql3.statements.Bound bound
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    1     1  bound  Lorg/apache/cassandra/cql3/statements/Bound;
    MethodParameters:
       Name  Flags
      bound  

  public void addFunctionsTo(java.util.List<org.apache.cassandra.cql3.functions.Function>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // java.util.List functions
         0: .line 428
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 1 /* functions */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.addFunctionsTo:(Ljava/util/List;)V
         1: .line 429
            return
        end local 1 // java.util.List functions
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    2     1  functions  Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;)V
    MethodParameters:
           Name  Flags
      functions  

  public boolean isInclusive(org.apache.cassandra.cql3.statements.Bound);
    descriptor: (Lorg/apache/cassandra/cql3/statements/Bound;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.cql3.statements.Bound bound
         0: .line 434
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 1 /* bound */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.isInclusive:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ireturn
        end local 1 // org.apache.cassandra.cql3.statements.Bound bound
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    1     1  bound  Lorg/apache/cassandra/cql3/statements/Bound;
    MethodParameters:
       Name  Flags
      bound  

  public org.apache.cassandra.cql3.restrictions.SingleRestriction doMergeWith(org.apache.cassandra.cql3.restrictions.SingleRestriction);
    descriptor: (Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;)Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.cql3.restrictions.SingleRestriction otherRestriction
         0: .line 440
            aload 1 /* otherRestriction */
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.isSlice:()Z
         1: .line 441
            ldc "Column \"%s\" cannot be restricted by both an equality and an inequality relation"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 442
            aload 0 /* this */
            aload 1 /* otherRestriction */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getColumnsInCommons:(Lorg/apache/cassandra/cql3/restrictions/Restriction;)Ljava/lang/String;
            aastore
         3: .line 440
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         4: .line 444
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            aload 1 /* otherRestriction */
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.equals:(Ljava/lang/Object;)Z
            ifne 12
         5: .line 446
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            aload 1 /* otherRestriction */
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            if_icmple 7
         6: .line 447
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* otherRestriction */
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.getFirstColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
         8: .line 446
      StackMap locals:
      StackMap stack: org.apache.cassandra.config.ColumnDefinition
            astore 2 /* column */
        start local 2 // org.apache.cassandra.config.ColumnDefinition column
         9: .line 449
            ldc "Column \"%s\" cannot be restricted by two inequalities not starting with the same column"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 450
            aload 2 /* column */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
        11: .line 449
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
            athrow
        end local 2 // org.apache.cassandra.config.ColumnDefinition column
        12: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.cassandra.cql3.statements.Bound.START:Lorg/apache/cassandra/cql3/statements/Bound;
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ifeq 13
            aload 1 /* otherRestriction */
            getstatic org.apache.cassandra.cql3.statements.Bound.START:Lorg/apache/cassandra/cql3/statements/Bound;
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ifeq 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
        14: .line 454
      StackMap locals:
      StackMap stack: int
            ldc "More than one restriction was found for the start bound on %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 455
            aload 0 /* this */
            aload 1 /* otherRestriction */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getColumnsInCommons:(Lorg/apache/cassandra/cql3/restrictions/Restriction;)Ljava/lang/String;
            aastore
        16: .line 453
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkFalse:(ZLjava/lang/String;[Ljava/lang/Object;)V
        17: .line 456
            aload 0 /* this */
            getstatic org.apache.cassandra.cql3.statements.Bound.END:Lorg/apache/cassandra/cql3/statements/Bound;
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ifeq 18
            aload 1 /* otherRestriction */
            getstatic org.apache.cassandra.cql3.statements.Bound.END:Lorg/apache/cassandra/cql3/statements/Bound;
            invokeinterface org.apache.cassandra.cql3.restrictions.SingleRestriction.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ifeq 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
        19: .line 457
      StackMap locals:
      StackMap stack: int
            ldc "More than one restriction was found for the end bound on %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 458
            aload 0 /* this */
            aload 1 /* otherRestriction */
            invokevirtual org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.getColumnsInCommons:(Lorg/apache/cassandra/cql3/restrictions/Restriction;)Ljava/lang/String;
            aastore
        21: .line 456
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkFalse:(ZLjava/lang/String;[Ljava/lang/Object;)V
        22: .line 460
            aload 1 /* otherRestriction */
            checkcast org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction
            astore 2 /* otherSlice */
        start local 2 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction otherSlice
        23: .line 461
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 2 /* otherSlice */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 24
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
            goto 25
      StackMap locals: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction
      StackMap stack:
        24: aload 2 /* otherSlice */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.columnDefs:Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
        25: astore 3 /* newColumnDefs */
        start local 3 // java.util.List newColumnDefs
        26: .line 463
            new org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction
            dup
            aload 3 /* newColumnDefs */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 2 /* otherSlice */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.merge:(Lorg/apache/cassandra/cql3/restrictions/TermSlice;)Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            invokespecial org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.<init>:(Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/TermSlice;)V
            areturn
        end local 3 // java.util.List newColumnDefs
        end local 2 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction otherSlice
        end local 1 // org.apache.cassandra.cql3.restrictions.SingleRestriction otherRestriction
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0   27     1  otherRestriction  Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;
            9   12     2            column  Lorg/apache/cassandra/config/ColumnDefinition;
           23   27     2        otherSlice  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
           26   27     3     newColumnDefs  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;
    MethodParameters:
                  Name  Flags
      otherRestriction  

  public final void addRowFilterTo(org.apache.cassandra.db.filter.RowFilter, org.apache.cassandra.index.SecondaryIndexManager, org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter;Lorg/apache/cassandra/index/SecondaryIndexManager;Lorg/apache/cassandra/cql3/QueryOptions;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.db.filter.RowFilter filter
        start local 2 // org.apache.cassandra.index.SecondaryIndexManager indexManager
        start local 3 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 471
            ldc "Multi-column slice restrictions cannot be used for filtering."
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
            athrow
        end local 3 // org.apache.cassandra.cql3.QueryOptions options
        end local 2 // org.apache.cassandra.index.SecondaryIndexManager indexManager
        end local 1 // org.apache.cassandra.db.filter.RowFilter filter
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    1     1        filter  Lorg/apache/cassandra/db/filter/RowFilter;
            0    1     2  indexManager  Lorg/apache/cassandra/index/SecondaryIndexManager;
            0    1     3       options  Lorg/apache/cassandra/cql3/QueryOptions;
    MethodParameters:
              Name  Flags
      filter        
      indexManager  
      options       

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
         0: .line 477
            new java.lang.StringBuilder
            dup
            ldc "SLICE"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;

  private java.util.List<java.nio.ByteBuffer> componentBounds(org.apache.cassandra.cql3.statements.Bound, org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/cql3/statements/Bound;Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.cql3.statements.Bound b
        start local 2 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 489
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 1 /* b */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.hasBound:(Lorg/apache/cassandra/cql3/statements/Bound;)Z
            ifne 2
         1: .line 490
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction.slice:Lorg/apache/cassandra/cql3/restrictions/TermSlice;
            aload 1 /* b */
            invokevirtual org.apache.cassandra.cql3.restrictions.TermSlice.bound:(Lorg/apache/cassandra/cql3/statements/Bound;)Lorg/apache/cassandra/cql3/Term;
            aload 2 /* options */
            invokeinterface org.apache.cassandra.cql3.Term.bind:(Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/Term$Terminal;
            astore 3 /* terminal */
        start local 3 // org.apache.cassandra.cql3.Term$Terminal terminal
         3: .line 494
            aload 3 /* terminal */
            instanceof org.apache.cassandra.cql3.Tuples$Value
            ifeq 5
         4: .line 496
            aload 3 /* terminal */
            checkcast org.apache.cassandra.cql3.Tuples$Value
            invokevirtual org.apache.cassandra.cql3.Tuples$Value.getElements:()Ljava/util/List;
            areturn
         5: .line 499
      StackMap locals: org.apache.cassandra.cql3.Term$Terminal
      StackMap stack:
            aload 3 /* terminal */
            aload 2 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getProtocolVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.cql3.Term$Terminal.get:(Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 3 // org.apache.cassandra.cql3.Term$Terminal terminal
        end local 2 // org.apache.cassandra.cql3.QueryOptions options
        end local 1 // org.apache.cassandra.cql3.statements.Bound b
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    6     1         b  Lorg/apache/cassandra/cql3/statements/Bound;
            0    6     2   options  Lorg/apache/cassandra/cql3/QueryOptions;
            3    6     3  terminal  Lorg/apache/cassandra/cql3/Term$Terminal;
    Signature: (Lorg/apache/cassandra/cql3/statements/Bound;Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
    MethodParameters:
         Name  Flags
      b        
      options  

  private boolean hasComponent(org.apache.cassandra.cql3.statements.Bound, int, java.util.EnumMap<org.apache.cassandra.cql3.statements.Bound, java.util.List<java.nio.ByteBuffer>>);
    descriptor: (Lorg/apache/cassandra/cql3/statements/Bound;ILjava/util/EnumMap;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
        start local 1 // org.apache.cassandra.cql3.statements.Bound b
        start local 2 // int index
        start local 3 // java.util.EnumMap componentBounds
         0: .line 504
            aload 3 /* componentBounds */
            aload 1 /* b */
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.size:()I
            iload 2 /* index */
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // java.util.EnumMap componentBounds
        end local 2 // int index
        end local 1 // org.apache.cassandra.cql3.statements.Bound b
        end local 0 // org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction$SliceRestriction;
            0    2     1                b  Lorg/apache/cassandra/cql3/statements/Bound;
            0    2     2            index  I
            0    2     3  componentBounds  Ljava/util/EnumMap<Lorg/apache/cassandra/cql3/statements/Bound;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    Signature: (Lorg/apache/cassandra/cql3/statements/Bound;ILjava/util/EnumMap<Lorg/apache/cassandra/cql3/statements/Bound;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Z
    MethodParameters:
                 Name  Flags
      b                
      index            
      componentBounds  
}
SourceFile: "MultiColumnRestriction.java"
NestHost: org.apache.cassandra.cql3.restrictions.MultiColumnRestriction
InnerClasses:
  public abstract Terminal = org.apache.cassandra.cql3.Term$Terminal of org.apache.cassandra.cql3.Term
  public Value = org.apache.cassandra.cql3.Tuples$Value of org.apache.cassandra.cql3.Tuples
  public SliceRestriction = org.apache.cassandra.cql3.restrictions.MultiColumnRestriction$SliceRestriction of org.apache.cassandra.cql3.restrictions.MultiColumnRestriction