public class org.apache.cassandra.thrift.ThriftValidation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.thrift.ThriftValidation
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.thrift.ThriftValidation this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.thrift.ThriftValidation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/thrift/ThriftValidation;

  public static void validateKey(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer key
         0: .line 58
            aload 1 /* key */
            ifnull 1
            aload 1 /* key */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 2
         1: .line 60
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Key may not be empty"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ldc 65535
            if_icmple 7
         3: .line 66
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Key length of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 67
            ldc " is longer than maximum of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 68
            ldc 65535
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 66
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.getKeyValidator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 1 /* key */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
         8: .line 74
            goto 11
         9: .line 75
      StackMap locals:
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 2 /* e */
        start local 2 // org.apache.cassandra.serializers.MarshalException e
        10: .line 77
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            aload 2 /* e */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.apache.cassandra.serializers.MarshalException e
        11: .line 79
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer key
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   12     1       key  Ljava/nio/ByteBuffer;
           10   11     2         e  Lorg/apache/cassandra/serializers/MarshalException;
      Exception table:
        from    to  target  type
           7     8       9  Class org.apache.cassandra.serializers.MarshalException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      key       

  public static void validateKeyspace(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String keyspaceName
         0: .line 83
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getKeyspaces:()Ljava/util/Set;
            aload 0 /* keyspaceName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 85
            new org.apache.cassandra.db.KeyspaceNotDefinedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Keyspace "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* keyspaceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.db.KeyspaceNotDefinedException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String keyspaceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  keyspaceName  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.db.KeyspaceNotDefinedException
    MethodParameters:
              Name  Flags
      keyspaceName  

  public static org.apache.cassandra.config.CFMetaData validateColumnFamily(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.String keyspaceName
        start local 1 // java.lang.String cfName
        start local 2 // boolean isCommutativeOp
         0: .line 91
            aload 0 /* keyspaceName */
            aload 1 /* cfName */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* metadata */
        start local 3 // org.apache.cassandra.config.CFMetaData metadata
         1: .line 93
            iload 2 /* isCommutativeOp */
            ifeq 4
         2: .line 95
            aload 3 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
            ifne 6
         3: .line 96
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for non commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cfName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 100
      StackMap locals: org.apache.cassandra.config.CFMetaData
      StackMap stack:
            aload 3 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
            ifeq 6
         5: .line 101
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cfName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 103
      StackMap locals:
      StackMap stack:
            aload 3 /* metadata */
            areturn
        end local 3 // org.apache.cassandra.config.CFMetaData metadata
        end local 2 // boolean isCommutativeOp
        end local 1 // java.lang.String cfName
        end local 0 // java.lang.String keyspaceName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0     keyspaceName  Ljava/lang/String;
            0    7     1           cfName  Ljava/lang/String;
            0    7     2  isCommutativeOp  Z
            1    7     3         metadata  Lorg/apache/cassandra/config/CFMetaData;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
                 Name  Flags
      keyspaceName     
      cfName           
      isCommutativeOp  

  public static org.apache.cassandra.config.CFMetaData validateColumnFamily(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String keyspaceName
        start local 1 // java.lang.String cfName
         0: .line 109
            aload 0 /* keyspaceName */
            aload 1 /* cfName */
            iconst_0
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnFamilyWithCompactMode:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/apache/cassandra/config/CFMetaData;
            areturn
        end local 1 // java.lang.String cfName
        end local 0 // java.lang.String keyspaceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  keyspaceName  Ljava/lang/String;
            0    1     1        cfName  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
              Name  Flags
      keyspaceName  
      cfName        

  public static org.apache.cassandra.config.CFMetaData validateColumnFamilyWithCompactMode(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.String keyspaceName
        start local 1 // java.lang.String cfName
        start local 2 // boolean noCompactMode
         0: .line 114
            aload 0 /* keyspaceName */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateKeyspace:(Ljava/lang/String;)V
         1: .line 115
            aload 1 /* cfName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         2: .line 116
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "non-empty table is required"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 118
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* keyspaceName */
            aload 1 /* cfName */
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* metadata */
        start local 3 // org.apache.cassandra.config.CFMetaData metadata
         4: .line 119
            aload 3 /* metadata */
            ifnonnull 6
         5: .line 120
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unconfigured table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cfName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 122
      StackMap locals: org.apache.cassandra.config.CFMetaData
      StackMap stack:
            aload 3 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCompactTable:()Z
            ifeq 8
            iload 2 /* noCompactMode */
            ifeq 8
         7: .line 123
            aload 3 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.asNonCompact:()Lorg/apache/cassandra/config/CFMetaData;
            areturn
         8: .line 125
      StackMap locals:
      StackMap stack:
            aload 3 /* metadata */
            areturn
        end local 3 // org.apache.cassandra.config.CFMetaData metadata
        end local 2 // boolean noCompactMode
        end local 1 // java.lang.String cfName
        end local 0 // java.lang.String keyspaceName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0   keyspaceName  Ljava/lang/String;
            0    9     1         cfName  Ljava/lang/String;
            0    9     2  noCompactMode  Z
            4    9     3       metadata  Lorg/apache/cassandra/config/CFMetaData;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
               Name  Flags
      keyspaceName   
      cfName         
      noCompactMode  

  public static void validateColumnPath(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnPath);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnPath column_path
         0: .line 133
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 5
         1: .line 135
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnull 3
         2: .line 137
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "supercolumn parameter is invalid for standard CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            ifnonnull 7
         4: .line 141
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "column parameter is not optional for standard CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnonnull 7
         6: .line 147
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "supercolumn parameter is not optional for super CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            ifnull 9
         8: .line 151
            aload 0 /* metadata */
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         9: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnull 11
        10: .line 155
            aload 0 /* metadata */
            aconst_null
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* column_path */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
        11: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.ColumnPath column_path
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0     metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   12     1  column_path  Lorg/apache/cassandra/thrift/ColumnPath;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
             Name  Flags
      metadata     
      column_path  

  public static void validateColumnParent(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnParent);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
         0: .line 161
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 3
         1: .line 163
            aload 1 /* column_parent */
            getfield org.apache.cassandra.thrift.ColumnParent.super_column:Ljava/nio/ByteBuffer;
            ifnull 3
         2: .line 165
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "table alone is required for standard CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* column_parent */
            getfield org.apache.cassandra.thrift.ColumnParent.super_column:Ljava/nio/ByteBuffer;
            ifnull 5
         4: .line 171
            aload 0 /* metadata */
            aconst_null
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* column_parent */
            getfield org.apache.cassandra.thrift.ColumnParent.super_column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         5: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    6     1  column_parent  Lorg/apache/cassandra/thrift/ColumnParent;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
               Name  Flags
      metadata       
      column_parent  

  static void validateColumnPathOrParent(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnPath);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnPath column_path_or_parent
         0: .line 178
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifeq 5
         1: .line 180
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnonnull 7
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            ifnull 7
         2: .line 182
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "A column cannot be specified without specifying a super column for removal on super CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 183
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 182
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnull 7
         6: .line 190
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "supercolumn may not be specified for standard CF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            ifnull 9
         8: .line 195
            aload 0 /* metadata */
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         9: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            ifnull 11
        10: .line 199
            aload 0 /* metadata */
            aconst_null
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* column_path_or_parent */
            getfield org.apache.cassandra.thrift.ColumnPath.super_column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
        11: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.ColumnPath column_path_or_parent
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   12     0               metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   12     1  column_path_or_parent  Lorg/apache/cassandra/thrift/ColumnPath;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
                       Name  Flags
      metadata               
      column_path_or_parent  

  private static org.apache.cassandra.db.marshal.AbstractType<?> getThriftColumnNameComparator(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer superColumnName
         0: .line 205
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 2
         1: .line 206
            aload 0 /* metadata */
            invokestatic org.apache.cassandra.db.LegacyLayout.makeLegacyComparator:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* superColumnName */
            ifnonnull 4
         3: .line 211
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            iconst_0
            invokevirtual org.apache.cassandra.db.ClusteringComparator.subtype:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
         4: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.thriftColumnNameType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
        end local 1 // java.nio.ByteBuffer superColumnName
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0         metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    5     1  superColumnName  Ljava/nio/ByteBuffer;
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    MethodParameters:
                 Name  Flags
      metadata         
      superColumnName  

  private static void validateColumnNames(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer, java.lang.Iterable<java.nio.ByteBuffer>);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer superColumnName
        start local 2 // java.lang.Iterable column_names
         0: .line 226
            ldc 65535
            istore 3 /* maxNameLength */
        start local 3 // int maxNameLength
         1: .line 228
            aload 1 /* superColumnName */
            ifnull 8
         2: .line 230
            aload 1 /* superColumnName */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* maxNameLength */
            if_icmple 4
         3: .line 231
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "supercolumn name length must not be greater than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* maxNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 232
      StackMap locals: int
      StackMap stack:
            aload 1 /* superColumnName */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 6
         5: .line 233
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "supercolumn name must not be empty"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 8
         7: .line 235
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "supercolumn specified to table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " containing normal columns"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* superColumnName */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.getThriftColumnNameComparator:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 4 /* comparator */
        start local 4 // org.apache.cassandra.db.marshal.AbstractType comparator
         9: .line 238
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isThriftCompatible:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: org.apache.cassandra.db.marshal.AbstractType
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* isCQL3Table */
        start local 5 // boolean isCQL3Table
        12: .line 239
            aload 2 /* column_names */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 37
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer java.lang.Iterable int org.apache.cassandra.db.marshal.AbstractType int top java.util.Iterator
      StackMap stack:
        13: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 6 /* name */
        start local 6 // java.nio.ByteBuffer name
        14: .line 241
            aload 6 /* name */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* maxNameLength */
            if_icmple 16
        15: .line 242
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "column name length must not be greater than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* maxNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 243
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer java.lang.Iterable int org.apache.cassandra.db.marshal.AbstractType int java.nio.ByteBuffer java.util.Iterator
      StackMap stack:
            aload 6 /* name */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 18
        17: .line 244
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "column name must not be empty"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 247
      StackMap locals:
      StackMap stack:
            aload 4 /* comparator */
            aload 6 /* name */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
        19: .line 248
            goto 22
        20: .line 249
      StackMap locals:
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 8 /* e */
        start local 8 // org.apache.cassandra.serializers.MarshalException e
        21: .line 251
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            aload 8 /* e */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // org.apache.cassandra.serializers.MarshalException e
        22: .line 254
      StackMap locals:
      StackMap stack:
            iload 5 /* isCQL3Table */
            ifeq 37
        23: .line 258
            aload 0 /* metadata */
            aload 6 /* name */
            invokestatic org.apache.cassandra.db.LegacyLayout.decodeCellName:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/LegacyLayout$LegacyCellName;
            astore 8 /* cname */
        start local 8 // org.apache.cassandra.db.LegacyLayout$LegacyCellName cname
        24: .line 259
            getstatic org.apache.cassandra.thrift.ThriftValidation.$assertionsDisabled:Z
            ifne 25
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.clustering:Lorg/apache/cassandra/db/Clustering;
            invokeinterface org.apache.cassandra.db.Clustering.size:()I
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
            if_icmpeq 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 262
      StackMap locals: org.apache.cassandra.db.LegacyLayout$LegacyCellName
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        26: goto 32
        27: .line 264
      StackMap locals: int
      StackMap stack:
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.clustering:Lorg/apache/cassandra/db/Clustering;
            iload 9 /* i */
            invokeinterface org.apache.cassandra.db.Clustering.get:(I)Ljava/nio/ByteBuffer;
            ifnonnull 31
        28: .line 265
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Not enough components (found %d but %d expected) for column name since %s is a CQL3 table"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 266
            iload 9 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
        30: .line 265
            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
        31: .line 262
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 9 /* i */
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.clustering:Lorg/apache/cassandra/db/Clustering;
            invokeinterface org.apache.cassandra.db.Clustering.size:()I
            if_icmplt 27
        end local 9 // int i
        33: .line 272
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            ifnull 37
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.collectionElement:Ljava/nio/ByteBuffer;
            ifnull 37
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCollection:()Z
            ifne 37
        34: .line 273
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Invalid collection component, %s is not a collection"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* cname */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            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
        end local 8 // org.apache.cassandra.db.LegacyLayout$LegacyCellName cname
        35: .line 275
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer java.lang.Iterable int org.apache.cassandra.db.marshal.AbstractType int java.nio.ByteBuffer java.util.Iterator
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        36: .line 277
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Error validating cell name for CQL3 table %s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 8 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aastore
            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
        end local 8 // java.lang.Exception e
        end local 6 // java.nio.ByteBuffer name
        37: .line 239
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer java.lang.Iterable int org.apache.cassandra.db.marshal.AbstractType int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        38: .line 281
            return
        end local 5 // boolean isCQL3Table
        end local 4 // org.apache.cassandra.db.marshal.AbstractType comparator
        end local 3 // int maxNameLength
        end local 2 // java.lang.Iterable column_names
        end local 1 // java.nio.ByteBuffer superColumnName
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   39     0         metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   39     1  superColumnName  Ljava/nio/ByteBuffer;
            0   39     2     column_names  Ljava/lang/Iterable<Ljava/nio/ByteBuffer;>;
            1   39     3    maxNameLength  I
            9   39     4       comparator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
           12   39     5      isCQL3Table  Z
           14   37     6             name  Ljava/nio/ByteBuffer;
           21   22     8                e  Lorg/apache/cassandra/serializers/MarshalException;
           24   35     8            cname  Lorg/apache/cassandra/db/LegacyLayout$LegacyCellName;
           26   33     9                i  I
           36   37     8                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          18    19      20  Class org.apache.cassandra.serializers.MarshalException
          23    35      35  Class java.lang.IllegalArgumentException
          23    35      35  Class org.apache.cassandra.db.UnknownColumnException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable<Ljava/nio/ByteBuffer;>;)V
    MethodParameters:
                 Name  Flags
      metadata         
      superColumnName  
      column_names     

  public static void validateColumnNames(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnParent, java.lang.Iterable<java.nio.ByteBuffer>);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Ljava/lang/Iterable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        start local 2 // java.lang.Iterable column_names
         0: .line 285
            aload 0 /* metadata */
            aload 1 /* column_parent */
            getfield org.apache.cassandra.thrift.ColumnParent.super_column:Ljava/nio/ByteBuffer;
            aload 2 /* column_names */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         1: .line 286
            return
        end local 2 // java.lang.Iterable column_names
        end local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    2     1  column_parent  Lorg/apache/cassandra/thrift/ColumnParent;
            0    2     2   column_names  Ljava/lang/Iterable<Ljava/nio/ByteBuffer;>;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Ljava/lang/Iterable<Ljava/nio/ByteBuffer;>;)V
    MethodParameters:
               Name  Flags
      metadata       
      column_parent  
      column_names   

  public static void validateRange(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnParent, org.apache.cassandra.thrift.SliceRange);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Lorg/apache/cassandra/thrift/SliceRange;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        start local 2 // org.apache.cassandra.thrift.SliceRange range
         0: .line 290
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.count:I
            ifge 2
         1: .line 291
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "get_slice requires non-negative count"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 293
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 3 /* maxNameLength */
        start local 3 // int maxNameLength
         3: .line 294
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.start:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* maxNameLength */
            if_icmple 5
         4: .line 295
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "range start length cannot be larger than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* maxNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 296
      StackMap locals: int
      StackMap stack:
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.finish:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* maxNameLength */
            if_icmple 7
         6: .line 297
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "range finish length cannot be larger than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* maxNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* column_parent */
            getfield org.apache.cassandra.thrift.ColumnParent.super_column:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.getThriftColumnNameComparator:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 4 /* comparator */
        start local 4 // org.apache.cassandra.db.marshal.AbstractType comparator
         8: .line 302
            aload 4 /* comparator */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.start:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
         9: .line 303
            aload 4 /* comparator */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.finish:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
        10: .line 304
            goto 13
        11: .line 305
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.thrift.ColumnParent org.apache.cassandra.thrift.SliceRange int org.apache.cassandra.db.marshal.AbstractType
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 5 /* e */
        start local 5 // org.apache.cassandra.serializers.MarshalException e
        12: .line 307
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            aload 5 /* e */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.apache.cassandra.serializers.MarshalException e
        13: .line 310
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            invokevirtual org.apache.cassandra.thrift.SliceRange.isReversed:()Z
            ifeq 14
            aload 4 /* comparator */
            getfield org.apache.cassandra.db.marshal.AbstractType.reverseComparator:Ljava/util/Comparator;
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 4 /* comparator */
      StackMap locals:
      StackMap stack: java.util.Comparator
        15: astore 5 /* orderedComparator */
        start local 5 // java.util.Comparator orderedComparator
        16: .line 311
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.start:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifle 20
        17: .line 312
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.finish:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifle 20
        18: .line 313
            aload 5 /* orderedComparator */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.start:Ljava/nio/ByteBuffer;
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.SliceRange.finish:Ljava/nio/ByteBuffer;
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifle 20
        19: .line 315
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "range finish must come after start in the order of traversal"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 317
      StackMap locals: java.util.Comparator
      StackMap stack:
            return
        end local 5 // java.util.Comparator orderedComparator
        end local 4 // org.apache.cassandra.db.marshal.AbstractType comparator
        end local 3 // int maxNameLength
        end local 2 // org.apache.cassandra.thrift.SliceRange range
        end local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0           metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   21     1      column_parent  Lorg/apache/cassandra/thrift/ColumnParent;
            0   21     2              range  Lorg/apache/cassandra/thrift/SliceRange;
            3   21     3      maxNameLength  I
            8   21     4         comparator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
           12   13     5                  e  Lorg/apache/cassandra/serializers/MarshalException;
           16   21     5  orderedComparator  Ljava/util/Comparator<Ljava/nio/ByteBuffer;>;
      Exception table:
        from    to  target  type
           8    10      11  Class org.apache.cassandra.serializers.MarshalException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
               Name  Flags
      metadata       
      column_parent  
      range          

  public static void validateColumnOrSuperColumn(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnOrSuperColumn);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnOrSuperColumn;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnOrSuperColumn cosc
         0: .line 322
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
            istore 2 /* isCommutative */
        start local 2 // boolean isCommutative
         1: .line 324
            iconst_0
            istore 3 /* nulls */
        start local 3 // int nulls
         2: .line 325
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.column:Lorg/apache/cassandra/thrift/Column;
            ifnonnull 3
            iinc 3 /* nulls */ 1
         3: .line 326
      StackMap locals: int int
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.super_column:Lorg/apache/cassandra/thrift/SuperColumn;
            ifnonnull 4
            iinc 3 /* nulls */ 1
         4: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_column:Lorg/apache/cassandra/thrift/CounterColumn;
            ifnonnull 5
            iinc 3 /* nulls */ 1
         5: .line 328
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_super_column:Lorg/apache/cassandra/thrift/CounterSuperColumn;
            ifnonnull 6
            iinc 3 /* nulls */ 1
         6: .line 330
      StackMap locals:
      StackMap stack:
            iload 3 /* nulls */
            iconst_3
            if_icmpeq 8
         7: .line 331
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "ColumnOrSuperColumn must have one (and only one) of column, super_column, counter and counter_super_column"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 333
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.column:Lorg/apache/cassandra/thrift/Column;
            ifnull 14
         9: .line 335
            iload 2 /* isCommutative */
            ifeq 11
        10: .line 336
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.column:Lorg/apache/cassandra/thrift/Column;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateTtl:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Column;)V
        12: .line 339
            aload 0 /* metadata */
            new org.apache.cassandra.thrift.ColumnPath
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.thrift.ColumnPath.<init>:(Ljava/lang/String;)V
            aconst_null
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setSuper_column:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.column:Lorg/apache/cassandra/thrift/Column;
            getfield org.apache.cassandra.thrift.Column.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setColumn:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnPath:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
        13: .line 340
            aload 0 /* metadata */
            aconst_null
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.column:Lorg/apache/cassandra/thrift/Column;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnData:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/Column;)V
        14: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.super_column:Lorg/apache/cassandra/thrift/SuperColumn;
            ifnull 22
        15: .line 345
            iload 2 /* isCommutative */
            ifeq 17
        16: .line 346
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.super_column:Lorg/apache/cassandra/thrift/SuperColumn;
            getfield org.apache.cassandra.thrift.SuperColumn.columns:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.thrift.ColumnOrSuperColumn int int top java.util.Iterator
      StackMap stack:
        18: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.thrift.Column
            astore 4 /* c */
        start local 4 // org.apache.cassandra.thrift.Column c
        19: .line 350
            aload 0 /* metadata */
            new org.apache.cassandra.thrift.ColumnPath
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.thrift.ColumnPath.<init>:(Ljava/lang/String;)V
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.super_column:Lorg/apache/cassandra/thrift/SuperColumn;
            getfield org.apache.cassandra.thrift.SuperColumn.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setSuper_column:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            aload 4 /* c */
            getfield org.apache.cassandra.thrift.Column.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setColumn:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnPath:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
        20: .line 351
            aload 0 /* metadata */
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.super_column:Lorg/apache/cassandra/thrift/SuperColumn;
            getfield org.apache.cassandra.thrift.SuperColumn.name:Ljava/nio/ByteBuffer;
            aload 4 /* c */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnData:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/Column;)V
        end local 4 // org.apache.cassandra.thrift.Column c
        21: .line 348
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        22: .line 355
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.thrift.ColumnOrSuperColumn int int
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_column:Lorg/apache/cassandra/thrift/CounterColumn;
            ifnull 26
        23: .line 357
            iload 2 /* isCommutative */
            ifne 25
        24: .line 358
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for non commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            new org.apache.cassandra.thrift.ColumnPath
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.thrift.ColumnPath.<init>:(Ljava/lang/String;)V
            aconst_null
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setSuper_column:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_column:Lorg/apache/cassandra/thrift/CounterColumn;
            getfield org.apache.cassandra.thrift.CounterColumn.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setColumn:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnPath:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
        26: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_super_column:Lorg/apache/cassandra/thrift/CounterSuperColumn;
            ifnull 33
        27: .line 365
            iload 2 /* isCommutative */
            ifne 29
        28: .line 366
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid operation for non commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 368
      StackMap locals:
      StackMap stack:
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_super_column:Lorg/apache/cassandra/thrift/CounterSuperColumn;
            getfield org.apache.cassandra.thrift.CounterSuperColumn.columns:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 32
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.thrift.ColumnOrSuperColumn int int top java.util.Iterator
      StackMap stack:
        30: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.thrift.CounterColumn
            astore 4 /* c */
        start local 4 // org.apache.cassandra.thrift.CounterColumn c
        31: .line 369
            aload 0 /* metadata */
            new org.apache.cassandra.thrift.ColumnPath
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.thrift.ColumnPath.<init>:(Ljava/lang/String;)V
            aload 1 /* cosc */
            getfield org.apache.cassandra.thrift.ColumnOrSuperColumn.counter_super_column:Lorg/apache/cassandra/thrift/CounterSuperColumn;
            getfield org.apache.cassandra.thrift.CounterSuperColumn.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setSuper_column:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            aload 4 /* c */
            getfield org.apache.cassandra.thrift.CounterColumn.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.thrift.ColumnPath.setColumn:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnPath;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnPath:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnPath;)V
        end local 4 // org.apache.cassandra.thrift.CounterColumn c
        32: .line 368
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        33: .line 371
      StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.thrift.ColumnOrSuperColumn int int
      StackMap stack:
            return
        end local 3 // int nulls
        end local 2 // boolean isCommutative
        end local 1 // org.apache.cassandra.thrift.ColumnOrSuperColumn cosc
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   34     1           cosc  Lorg/apache/cassandra/thrift/ColumnOrSuperColumn;
            1   34     2  isCommutative  Z
            2   34     3          nulls  I
           19   21     4              c  Lorg/apache/cassandra/thrift/Column;
           31   32     4              c  Lorg/apache/cassandra/thrift/CounterColumn;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      cosc      

  private static void validateTtl(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.Column);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Column;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.Column column
         0: .line 375
            aload 1 /* column */
            invokevirtual org.apache.cassandra.thrift.Column.isSetTtl:()Z
            ifeq 7
         1: .line 377
            aload 1 /* column */
            getfield org.apache.cassandra.thrift.Column.ttl:I
            ifge 3
         2: .line 378
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "ttl must be greater or equal to 0"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 380
      StackMap locals:
      StackMap stack:
            aload 1 /* column */
            getfield org.apache.cassandra.thrift.Column.ttl:I
            ldc 630720000
            if_icmple 5
         4: .line 381
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "ttl is too large. requested (%d) maximum (%d)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* column */
            getfield org.apache.cassandra.thrift.Column.ttl:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc 630720000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            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
         5: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* column */
            getfield org.apache.cassandra.thrift.Column.ttl:I
            iconst_0
            invokestatic org.apache.cassandra.db.ExpirationDateOverflowHandling.maybeApplyExpirationDateOverflowPolicy:(Lorg/apache/cassandra/config/CFMetaData;IZ)V
         6: .line 383
            goto 9
         7: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.defaultTimeToLive:I
            iconst_1
            invokestatic org.apache.cassandra.db.ExpirationDateOverflowHandling.maybeApplyExpirationDateOverflowPolicy:(Lorg/apache/cassandra/config/CFMetaData;IZ)V
         8: .line 388
            getstatic org.apache.cassandra.thrift.ThriftValidation.$assertionsDisabled:Z
            ifne 9
            aload 1 /* column */
            getfield org.apache.cassandra.thrift.Column.ttl:I
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 390
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.Column column
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   10     1    column  Lorg/apache/cassandra/thrift/Column;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      column    

  public static void validateMutation(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.Mutation);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Mutation;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.Mutation mut
         0: .line 395
            aload 1 /* mut */
            getfield org.apache.cassandra.thrift.Mutation.column_or_supercolumn:Lorg/apache/cassandra/thrift/ColumnOrSuperColumn;
            astore 2 /* cosc */
        start local 2 // org.apache.cassandra.thrift.ColumnOrSuperColumn cosc
         1: .line 396
            aload 1 /* mut */
            getfield org.apache.cassandra.thrift.Mutation.deletion:Lorg/apache/cassandra/thrift/Deletion;
            astore 3 /* del */
        start local 3 // org.apache.cassandra.thrift.Deletion del
         2: .line 398
            iconst_0
            istore 4 /* nulls */
        start local 4 // int nulls
         3: .line 399
            aload 2 /* cosc */
            ifnonnull 4
            iinc 4 /* nulls */ 1
         4: .line 400
      StackMap locals: org.apache.cassandra.thrift.ColumnOrSuperColumn org.apache.cassandra.thrift.Deletion int
      StackMap stack:
            aload 3 /* del */
            ifnonnull 5
            iinc 4 /* nulls */ 1
         5: .line 402
      StackMap locals:
      StackMap stack:
            iload 4 /* nulls */
            iconst_1
            if_icmpeq 7
         6: .line 404
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "mutation must have one and only one of column_or_supercolumn or deletion"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 407
      StackMap locals:
      StackMap stack:
            aload 2 /* cosc */
            ifnull 10
         8: .line 409
            aload 0 /* metadata */
            aload 2 /* cosc */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnOrSuperColumn:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnOrSuperColumn;)V
         9: .line 410
            goto 11
        10: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 3 /* del */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateDeletion:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Deletion;)V
        11: .line 415
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int nulls
        end local 3 // org.apache.cassandra.thrift.Deletion del
        end local 2 // org.apache.cassandra.thrift.ColumnOrSuperColumn cosc
        end local 1 // org.apache.cassandra.thrift.Mutation mut
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   12     1       mut  Lorg/apache/cassandra/thrift/Mutation;
            1   12     2      cosc  Lorg/apache/cassandra/thrift/ColumnOrSuperColumn;
            2   12     3       del  Lorg/apache/cassandra/thrift/Deletion;
            3   12     4     nulls  I
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      mut       

  public static void validateDeletion(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.Deletion);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Deletion;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.Deletion del
         0: .line 420
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.super_column:Ljava/nio/ByteBuffer;
            ifnull 2
         1: .line 421
            aload 0 /* metadata */
            aconst_null
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.super_column:Ljava/nio/ByteBuffer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         2: .line 423
      StackMap locals:
      StackMap stack:
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.predicate:Lorg/apache/cassandra/thrift/SlicePredicate;
            ifnull 4
         3: .line 424
            aload 0 /* metadata */
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.super_column:Ljava/nio/ByteBuffer;
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.predicate:Lorg/apache/cassandra/thrift/SlicePredicate;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateSlicePredicate:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/SlicePredicate;)V
         4: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 7
            aload 1 /* del */
            getfield org.apache.cassandra.thrift.Deletion.super_column:Ljava/nio/ByteBuffer;
            ifnull 7
         5: .line 428
            ldc "Deletion of super columns is not possible on a standard table (KeySpace=%s Table=%s Deletion=%s)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* del */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         6: .line 429
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            aload 2 /* msg */
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String msg
         7: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
            ifeq 10
         8: .line 435
            aload 1 /* del */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            putfield org.apache.cassandra.thrift.Deletion.timestamp:J
         9: .line 436
            goto 12
        10: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* del */
            invokevirtual org.apache.cassandra.thrift.Deletion.isSetTimestamp:()Z
            ifne 12
        11: .line 439
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Deletion timestamp is not optional for non commutative table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 441
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.Deletion del
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0  metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   13     1       del  Lorg/apache/cassandra/thrift/Deletion;
            6    7     2       msg  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      del       

  public static void validateSlicePredicate(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer, org.apache.cassandra.thrift.SlicePredicate);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/SlicePredicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer scName
        start local 2 // org.apache.cassandra.thrift.SlicePredicate predicate
         0: .line 445
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            ifnonnull 2
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            ifnonnull 2
         1: .line 446
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "A SlicePredicate must be given a list of Columns, a SliceRange, or both"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 448
      StackMap locals:
      StackMap stack:
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            ifnull 4
         3: .line 449
            aload 0 /* metadata */
            new org.apache.cassandra.thrift.ColumnParent
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.thrift.ColumnParent.<init>:(Ljava/lang/String;)V
            aload 1 /* scName */
            invokevirtual org.apache.cassandra.thrift.ColumnParent.setSuper_column:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/thrift/ColumnParent;
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateRange:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Lorg/apache/cassandra/thrift/SliceRange;)V
         4: .line 451
      StackMap locals:
      StackMap stack:
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            ifnull 6
         5: .line 452
            aload 0 /* metadata */
            aload 1 /* scName */
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/lang/Iterable;)V
         6: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.thrift.SlicePredicate predicate
        end local 1 // java.nio.ByteBuffer scName
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0   metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    7     1     scName  Ljava/nio/ByteBuffer;
            0    7     2  predicate  Lorg/apache/cassandra/thrift/SlicePredicate;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
           Name  Flags
      metadata   
      scName     
      predicate  

  public static void validateColumnData(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer, org.apache.cassandra.thrift.Column);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/Column;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer scName
        start local 2 // org.apache.cassandra.thrift.Column column
         0: .line 460
            aload 0 /* metadata */
            aload 2 /* column */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateTtl:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/Column;)V
         1: .line 461
            aload 2 /* column */
            invokevirtual org.apache.cassandra.thrift.Column.isSetValue:()Z
            ifne 3
         2: .line 462
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Column value is required"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 2 /* column */
            invokevirtual org.apache.cassandra.thrift.Column.isSetTimestamp:()Z
            ifne 5
         4: .line 464
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Column timestamp is required"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* scName */
            aload 2 /* column */
            getfield org.apache.cassandra.thrift.Column.name:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.db.LegacyLayout.decodeCellName:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/LegacyLayout$LegacyCellName;
            astore 3 /* cn */
        start local 3 // org.apache.cassandra.db.LegacyLayout$LegacyCellName cn
         6: .line 469
            aload 3 /* cn */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifeq 8
         7: .line 470
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot add primary key column %s to partition update"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* cn */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            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
         8: .line 472
      StackMap locals: org.apache.cassandra.db.LegacyLayout$LegacyCellName
      StackMap stack:
            aload 3 /* cn */
            getfield org.apache.cassandra.db.LegacyLayout$LegacyCellName.column:Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 2 /* column */
            getfield org.apache.cassandra.thrift.Column.value:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validateCellValue:(Ljava/nio/ByteBuffer;)V
        end local 3 // org.apache.cassandra.db.LegacyLayout$LegacyCellName cn
         9: .line 473
            goto 21
        10: .line 474
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer org.apache.cassandra.thrift.Column
      StackMap stack: org.apache.cassandra.db.UnknownColumnException
            astore 3 /* e */
        start local 3 // org.apache.cassandra.db.UnknownColumnException e
        11: .line 476
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            aload 3 /* e */
            invokevirtual org.apache.cassandra.db.UnknownColumnException.getMessage:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.apache.cassandra.db.UnknownColumnException e
        12: .line 478
      StackMap locals:
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 3 /* me */
        start local 3 // org.apache.cassandra.serializers.MarshalException me
        13: .line 480
            getstatic org.apache.cassandra.thrift.ThriftValidation.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 15
        14: .line 481
            getstatic org.apache.cassandra.thrift.ThriftValidation.logger:Lorg/slf4j/Logger;
            ldc "rejecting invalid value {}"
            aload 2 /* column */
            getfield org.apache.cassandra.thrift.Column.value:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.summarize:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 483
      StackMap locals: org.apache.cassandra.serializers.MarshalException
      StackMap stack:
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "(%s) [%s][%s][%s] failed validation"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 484
            aload 3 /* me */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        17: .line 485
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_2
        18: .line 486
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_3
        19: .line 487
            aload 0 /* metadata */
            aload 1 /* scName */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.getThriftColumnNameComparator:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 2 /* column */
            getfield org.apache.cassandra.thrift.Column.name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.getString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
        20: .line 483
            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
        end local 3 // org.apache.cassandra.serializers.MarshalException me
        21: .line 490
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.thrift.Column column
        end local 1 // java.nio.ByteBuffer scName
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0  metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   22     1    scName  Ljava/nio/ByteBuffer;
            0   22     2    column  Lorg/apache/cassandra/thrift/Column;
            6    9     3        cn  Lorg/apache/cassandra/db/LegacyLayout$LegacyCellName;
           11   12     3         e  Lorg/apache/cassandra/db/UnknownColumnException;
           13   21     3        me  Lorg/apache/cassandra/serializers/MarshalException;
      Exception table:
        from    to  target  type
           5     9      10  Class org.apache.cassandra.db.UnknownColumnException
           5     9      12  Class org.apache.cassandra.serializers.MarshalException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      metadata  
      scName    
      column    

  private static java.nio.ByteBuffer summarize(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer buffer
         0: .line 498
            sipush 32767
            istore 1 /* MAX */
        start local 1 // int MAX
         1: .line 499
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 1 /* MAX */
            if_icmpgt 3
         2: .line 500
            aload 0 /* buffer */
            areturn
         3: .line 501
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 1 /* MAX */
            iadd
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            checkcast java.nio.ByteBuffer
            areturn
        end local 1 // int MAX
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  buffer  Ljava/nio/ByteBuffer;
            1    4     1     MAX  I
    MethodParameters:
        Name  Flags
      buffer  

  public static void validatePredicate(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.ColumnParent, org.apache.cassandra.thrift.SlicePredicate);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Lorg/apache/cassandra/thrift/SlicePredicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        start local 2 // org.apache.cassandra.thrift.SlicePredicate predicate
         0: .line 508
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            ifnonnull 2
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            ifnonnull 2
         1: .line 509
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "predicate column_names and slice_range may not both be null"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 510
      StackMap locals:
      StackMap stack:
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            ifnull 4
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            ifnull 4
         3: .line 511
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "predicate column_names and slice_range may not both be present"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 513
      StackMap locals:
      StackMap stack:
            aload 2 /* predicate */
            invokevirtual org.apache.cassandra.thrift.SlicePredicate.getSlice_range:()Lorg/apache/cassandra/thrift/SliceRange;
            ifnull 6
         5: .line 514
            aload 0 /* metadata */
            aload 1 /* column_parent */
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.slice_range:Lorg/apache/cassandra/thrift/SliceRange;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateRange:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Lorg/apache/cassandra/thrift/SliceRange;)V
            goto 7
         6: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* column_parent */
            aload 2 /* predicate */
            getfield org.apache.cassandra.thrift.SlicePredicate.column_names:Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnNames:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/ColumnParent;Ljava/lang/Iterable;)V
         7: .line 517
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.thrift.SlicePredicate predicate
        end local 1 // org.apache.cassandra.thrift.ColumnParent column_parent
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    8     1  column_parent  Lorg/apache/cassandra/thrift/ColumnParent;
            0    8     2      predicate  Lorg/apache/cassandra/thrift/SlicePredicate;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
               Name  Flags
      metadata       
      column_parent  
      predicate      

  public static void validateKeyRange(org.apache.cassandra.config.CFMetaData, java.nio.ByteBuffer, org.apache.cassandra.thrift.KeyRange);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/thrift/KeyRange;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.nio.ByteBuffer superColumn
        start local 2 // org.apache.cassandra.thrift.KeyRange range
         0: .line 521
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_key:Ljava/nio/ByteBuffer;
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_token:Ljava/lang/String;
            ifnonnull 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack: int
         3: iconst_0
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer org.apache.cassandra.thrift.KeyRange
      StackMap stack: int int
         4: if_icmpeq 10
         5: .line 522
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_key:Ljava/nio/ByteBuffer;
            ifnonnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_token:Ljava/lang/String;
            ifnonnull 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: int
         8: iconst_0
      StackMap locals: org.apache.cassandra.config.CFMetaData java.nio.ByteBuffer org.apache.cassandra.thrift.KeyRange
      StackMap stack: int int
         9: if_icmpne 11
        10: .line 524
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "exactly one each of {start key, start token} and {end key, end token} must be specified"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 528
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_token:Ljava/lang/String;
            ifnull 13
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_key:Ljava/nio/ByteBuffer;
            ifnull 13
        12: .line 529
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "start token + end key is not a supported key range"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
            astore 3 /* p */
        start local 3 // org.apache.cassandra.dht.IPartitioner p
        14: .line 533
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_key:Ljava/nio/ByteBuffer;
            ifnull 21
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_key:Ljava/nio/ByteBuffer;
            ifnull 21
        15: .line 535
            aload 3 /* p */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_key:Ljava/nio/ByteBuffer;
            invokeinterface org.apache.cassandra.dht.IPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/Token;
            astore 4 /* startToken */
        start local 4 // org.apache.cassandra.dht.Token startToken
        16: .line 536
            aload 3 /* p */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_key:Ljava/nio/ByteBuffer;
            invokeinterface org.apache.cassandra.dht.IPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/Token;
            astore 5 /* endToken */
        start local 5 // org.apache.cassandra.dht.Token endToken
        17: .line 537
            aload 4 /* startToken */
            aload 5 /* endToken */
            invokevirtual org.apache.cassandra.dht.Token.compareTo:(Ljava/lang/Object;)I
            ifle 25
            aload 5 /* endToken */
            invokevirtual org.apache.cassandra.dht.Token.isMinimum:()Z
            ifne 25
        18: .line 539
            aload 3 /* p */
            invokeinterface org.apache.cassandra.dht.IPartitioner.preservesOrder:()Z
            ifeq 20
        19: .line 540
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "start key must sort before (or equal to) finish key in your partitioner!"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 542
      StackMap locals: org.apache.cassandra.dht.IPartitioner org.apache.cassandra.dht.Token org.apache.cassandra.dht.Token
      StackMap stack:
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "start key's token sorts after end key's token.  this is not allowed; you probably should not specify end key at all except with an ordered partitioner"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.apache.cassandra.dht.Token endToken
        end local 4 // org.apache.cassandra.dht.Token startToken
        21: .line 545
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_key:Ljava/nio/ByteBuffer;
            ifnull 25
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_token:Ljava/lang/String;
            ifnull 25
        22: .line 548
            aload 3 /* p */
            invokeinterface org.apache.cassandra.dht.IPartitioner.getTokenFactory:()Lorg/apache/cassandra/dht/Token$TokenFactory;
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.end_token:Ljava/lang/String;
            invokevirtual org.apache.cassandra.dht.Token$TokenFactory.fromString:(Ljava/lang/String;)Lorg/apache/cassandra/dht/Token;
            invokevirtual org.apache.cassandra.dht.Token.maxKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            astore 4 /* stop */
        start local 4 // org.apache.cassandra.db.PartitionPosition stop
        23: .line 549
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.start_key:Ljava/nio/ByteBuffer;
            aload 3 /* p */
            invokestatic org.apache.cassandra.db.PartitionPosition$ForKey.get:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/db/PartitionPosition;
            aload 4 /* stop */
            invokeinterface org.apache.cassandra.db.PartitionPosition.compareTo:(Ljava/lang/Object;)I
            ifle 25
            aload 4 /* stop */
            invokeinterface org.apache.cassandra.db.PartitionPosition.isMinimum:()Z
            ifne 25
        24: .line 550
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Start key's token sorts after end token"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.apache.cassandra.db.PartitionPosition stop
        25: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.row_filter:Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateFilterClauses:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;)Z
            pop
        26: .line 555
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.row_filter:Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.isEmpty:(Ljava/util/List;)Z
            ifne 28
            aload 1 /* superColumn */
            ifnull 28
        27: .line 557
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "super columns are not supported for indexing"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 560
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            getfield org.apache.cassandra.thrift.KeyRange.count:I
            ifgt 30
        29: .line 562
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "maxRows must be positive"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 564
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.cassandra.dht.IPartitioner p
        end local 2 // org.apache.cassandra.thrift.KeyRange range
        end local 1 // java.nio.ByteBuffer superColumn
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0     metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   31     1  superColumn  Ljava/nio/ByteBuffer;
            0   31     2        range  Lorg/apache/cassandra/thrift/KeyRange;
           14   31     3            p  Lorg/apache/cassandra/dht/IPartitioner;
           16   21     4   startToken  Lorg/apache/cassandra/dht/Token;
           17   21     5     endToken  Lorg/apache/cassandra/dht/Token;
           23   25     4         stop  Lorg/apache/cassandra/db/PartitionPosition;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
             Name  Flags
      metadata     
      superColumn  
      range        

  private static boolean isEmpty(java.util.List<org.apache.cassandra.thrift.IndexExpression>);
    descriptor: (Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List clause
         0: .line 568
            aload 0 /* clause */
            ifnull 1
            aload 0 /* clause */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.util.List clause
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  clause  Ljava/util/List<Lorg/apache/cassandra/thrift/IndexExpression;>;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/thrift/IndexExpression;>;)Z
    MethodParameters:
        Name  Flags
      clause  

  public static void validateIndexClauses(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.thrift.IndexClause);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/thrift/IndexClause;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.thrift.IndexClause index_clause
         0: .line 574
            aload 1 /* index_clause */
            getfield org.apache.cassandra.thrift.IndexClause.expressions:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 575
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "index clause list may not be empty"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 1 /* index_clause */
            getfield org.apache.cassandra.thrift.IndexClause.expressions:Ljava/util/List;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateFilterClauses:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;)Z
            ifne 4
         3: .line 578
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "No indexed columns present in index clause with operator EQ"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 579
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.thrift.IndexClause index_clause
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0      metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    5     1  index_clause  Lorg/apache/cassandra/thrift/IndexClause;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
              Name  Flags
      metadata      
      index_clause  

  public static boolean validateFilterClauses(org.apache.cassandra.config.CFMetaData, java.util.List<org.apache.cassandra.thrift.IndexExpression>);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // java.util.List index_clause
         0: .line 585
            aload 1 /* index_clause */
            invokestatic org.apache.cassandra.thrift.ThriftValidation.isEmpty:(Ljava/util/List;)Z
            ifeq 2
         1: .line 587
            iconst_0
            ireturn
         2: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            astore 2 /* idxManager */
        start local 2 // org.apache.cassandra.index.SecondaryIndexManager idxManager
         3: .line 590
            aload 0 /* metadata */
            aconst_null
            invokestatic org.apache.cassandra.thrift.ThriftValidation.getThriftColumnNameComparator:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 3 /* nameValidator */
        start local 3 // org.apache.cassandra.db.marshal.AbstractType nameValidator
         4: .line 592
            iconst_0
            istore 4 /* isIndexed */
        start local 4 // boolean isIndexed
         5: .line 593
            aload 1 /* index_clause */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals: org.apache.cassandra.config.CFMetaData java.util.List org.apache.cassandra.index.SecondaryIndexManager org.apache.cassandra.db.marshal.AbstractType int top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.thrift.IndexExpression
            astore 5 /* expression */
        start local 5 // org.apache.cassandra.thrift.IndexExpression expression
         7: .line 597
            aload 3 /* nameValidator */
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.column_name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
         8: .line 598
            goto 15
         9: .line 599
      StackMap locals: org.apache.cassandra.config.CFMetaData java.util.List org.apache.cassandra.index.SecondaryIndexManager org.apache.cassandra.db.marshal.AbstractType int org.apache.cassandra.thrift.IndexExpression java.util.Iterator
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 7 /* me */
        start local 7 // org.apache.cassandra.serializers.MarshalException me
        10: .line 601
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "[%s]=[%s] failed name validation (%s)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 602
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.column_name:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        12: .line 603
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.value:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        13: .line 604
            aload 7 /* me */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            aastore
        14: .line 601
            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
        end local 7 // org.apache.cassandra.serializers.MarshalException me
        15: .line 607
      StackMap locals:
      StackMap stack:
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.value:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ldc 65535
            if_icmple 17
        16: .line 608
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Index expression values may not be larger than 64K"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* metadata */
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.column_name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.config.CFMetaData.getColumnDefinition:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 7 /* def */
        start local 7 // org.apache.cassandra.config.ColumnDefinition def
        18: .line 611
            aload 7 /* def */
            ifnonnull 22
        19: .line 613
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCompactTable:()Z
            ifne 21
        20: .line 614
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Unknown column %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* nameValidator */
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.column_name:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.getString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            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
        21: .line 616
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aload 0 /* metadata */
            invokevirtual org.apache.cassandra.config.CFMetaData.compactValueColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            astore 7 /* def */
        22: .line 621
      StackMap locals:
      StackMap stack:
            aload 7 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.value:Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
        23: .line 622
            goto 30
        24: .line 623
      StackMap locals:
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 8 /* me */
        start local 8 // org.apache.cassandra.serializers.MarshalException me
        25: .line 625
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "[%s]=[%s] failed value validation (%s)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 626
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.column_name:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        27: .line 627
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.value:Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        28: .line 628
            aload 8 /* me */
            invokevirtual org.apache.cassandra.serializers.MarshalException.getMessage:()Ljava/lang/String;
            aastore
        29: .line 625
            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
        end local 8 // org.apache.cassandra.serializers.MarshalException me
        30: .line 631
      StackMap locals:
      StackMap stack:
            aload 2 /* idxManager */
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.listIndexes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 33
      StackMap locals: org.apache.cassandra.config.CFMetaData java.util.List org.apache.cassandra.index.SecondaryIndexManager org.apache.cassandra.db.marshal.AbstractType int org.apache.cassandra.thrift.IndexExpression java.util.Iterator org.apache.cassandra.config.ColumnDefinition top java.util.Iterator
      StackMap stack:
        31: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.index.Index
            astore 8 /* index */
        start local 8 // org.apache.cassandra.index.Index index
        32: .line 632
            iload 4 /* isIndexed */
            aload 8 /* index */
            aload 7 /* def */
            aload 5 /* expression */
            getfield org.apache.cassandra.thrift.IndexExpression.op:Lorg/apache/cassandra/thrift/IndexOperator;
            invokevirtual org.apache.cassandra.thrift.IndexOperator.name:()Ljava/lang/String;
            invokestatic org.apache.cassandra.cql3.Operator.valueOf:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/Operator;
            invokeinterface org.apache.cassandra.index.Index.supportsExpression:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
            ior
            istore 4 /* isIndexed */
        end local 8 // org.apache.cassandra.index.Index index
        33: .line 631
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        end local 7 // org.apache.cassandra.config.ColumnDefinition def
        end local 5 // org.apache.cassandra.thrift.IndexExpression expression
        34: .line 593
      StackMap locals: org.apache.cassandra.config.CFMetaData java.util.List org.apache.cassandra.index.SecondaryIndexManager org.apache.cassandra.db.marshal.AbstractType int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        35: .line 635
            iload 4 /* isIndexed */
            ireturn
        end local 4 // boolean isIndexed
        end local 3 // org.apache.cassandra.db.marshal.AbstractType nameValidator
        end local 2 // org.apache.cassandra.index.SecondaryIndexManager idxManager
        end local 1 // java.util.List index_clause
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0       metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   36     1   index_clause  Ljava/util/List<Lorg/apache/cassandra/thrift/IndexExpression;>;
            3   36     2     idxManager  Lorg/apache/cassandra/index/SecondaryIndexManager;
            4   36     3  nameValidator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            5   36     4      isIndexed  Z
            7   34     5     expression  Lorg/apache/cassandra/thrift/IndexExpression;
           10   15     7             me  Lorg/apache/cassandra/serializers/MarshalException;
           18   34     7            def  Lorg/apache/cassandra/config/ColumnDefinition;
           25   30     8             me  Lorg/apache/cassandra/serializers/MarshalException;
           32   33     8          index  Lorg/apache/cassandra/index/Index;
      Exception table:
        from    to  target  type
           7     8       9  Class org.apache.cassandra.serializers.MarshalException
          22    23      24  Class org.apache.cassandra.serializers.MarshalException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List<Lorg/apache/cassandra/thrift/IndexExpression;>;)Z
    MethodParameters:
              Name  Flags
      metadata      
      index_clause  

  public static void validateKeyspaceNotYetExisting(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.lang.String newKsName
         0: .line 643
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getKeyspaces:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* ksName */
        start local 1 // java.lang.String ksName
         2: .line 645
            aload 1 /* ksName */
            aload 0 /* newKsName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         3: .line 646
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Keyspace names must be case-insensitively unique (\"%s\" conflicts with \"%s\")"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 647
            aload 0 /* newKsName */
            aastore
            dup
            iconst_1
         5: .line 648
            aload 1 /* ksName */
            aastore
         6: .line 646
            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
        end local 1 // java.lang.String ksName
         7: .line 643
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 650
            return
        end local 0 // java.lang.String newKsName
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  newKsName  Ljava/lang/String;
            2    7     1     ksName  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
           Name  Flags
      newKsName  

  public static void validateKeyspaceNotSystem(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.lang.String modifiedKeyspace
         0: .line 654
            aload 0 /* modifiedKeyspace */
            invokestatic org.apache.cassandra.config.SchemaConstants.isLocalSystemKeyspace:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 655
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "%s keyspace is not user-modifiable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* modifiedKeyspace */
            aastore
            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
         2: .line 656
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String modifiedKeyspace
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  modifiedKeyspace  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
                  Name  Flags
      modifiedKeyspace  
}
SourceFile: "ThriftValidation.java"
InnerClasses:
  public LegacyCellName = org.apache.cassandra.db.LegacyLayout$LegacyCellName of org.apache.cassandra.db.LegacyLayout
  public final ForKey = org.apache.cassandra.db.PartitionPosition$ForKey of org.apache.cassandra.db.PartitionPosition
  public KeyBound = org.apache.cassandra.dht.Token$KeyBound of org.apache.cassandra.dht.Token
  public abstract TokenFactory = org.apache.cassandra.dht.Token$TokenFactory of org.apache.cassandra.dht.Token