public class org.apache.cassandra.cql3.Operation$Substraction implements org.apache.cassandra.cql3.Operation$RawUpdate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.Operation$Substraction
  super_class: java.lang.Object
{
  private final org.apache.cassandra.cql3.Term$Raw value;
    descriptor: Lorg/apache/cassandra/cql3/Term$Raw;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(org.apache.cassandra.cql3.Term$Raw);
    descriptor: (Lorg/apache/cassandra/cql3/Term$Raw;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.Operation$Substraction this
        start local 1 // org.apache.cassandra.cql3.Term$Raw value
         0: .line 414
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 416
            aload 0 /* this */
            aload 1 /* value */
            putfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
         2: .line 417
            return
        end local 1 // org.apache.cassandra.cql3.Term$Raw value
        end local 0 // org.apache.cassandra.cql3.Operation$Substraction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/cql3/Operation$Substraction;
            0    3     1  value  Lorg/apache/cassandra/cql3/Term$Raw;
    MethodParameters:
       Name  Flags
      value  

  public org.apache.cassandra.cql3.Operation prepare(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/cql3/Operation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.cassandra.cql3.Operation$Substraction this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
        start local 2 // org.apache.cassandra.config.ColumnDefinition receiver
         0: .line 421
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            instanceof org.apache.cassandra.db.marshal.CollectionType
            ifne 4
         1: .line 423
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            instanceof org.apache.cassandra.db.marshal.CounterColumnType
            ifne 3
         2: .line 424
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Invalid operation (%s) for non counter column %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.cql3.Operation$Substraction.toString:(Lorg/apache/cassandra/cql3/ColumnSpecification;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* receiver */
            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
         3: .line 425
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.Constants$Substracter
            dup
            aload 2 /* receiver */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.cql3.Term$Raw.prepare:(Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/Term;
            invokespecial org.apache.cassandra.cql3.Constants$Substracter.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Term;)V
            areturn
         4: .line 427
      StackMap locals:
      StackMap stack:
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isMultiCell:()Z
            ifne 6
         5: .line 428
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Invalid operation (%s) for frozen collection column %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.cql3.Operation$Substraction.toString:(Lorg/apache/cassandra/cql3/ColumnSpecification;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* receiver */
            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
         6: .line 430
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.cql3.Operation$Substraction.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:()[I
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.CollectionType
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 9
                    2: 8
                    3: 7
              default: 15
          }
         7: .line 433
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.Lists$Discarder
            dup
            aload 2 /* receiver */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.cql3.Term$Raw.prepare:(Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/Term;
            invokespecial org.apache.cassandra.cql3.Lists$Discarder.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Term;)V
            areturn
         8: .line 435
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.Sets$Discarder
            dup
            aload 2 /* receiver */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.cql3.Term$Raw.prepare:(Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/Term;
            invokespecial org.apache.cassandra.cql3.Sets$Discarder.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Term;)V
            areturn
         9: .line 438
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.ColumnSpecification
            dup
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.ksName:Ljava/lang/String;
        10: .line 439
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.cfName:Ljava/lang/String;
        11: .line 440
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
        12: .line 441
            aload 2 /* receiver */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.MapType
            invokevirtual org.apache.cassandra.db.marshal.MapType.getKeysType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            iconst_0
            invokestatic org.apache.cassandra.db.marshal.SetType.getInstance:(Lorg/apache/cassandra/db/marshal/AbstractType;Z)Lorg/apache/cassandra/db/marshal/SetType;
        13: .line 438
            invokespecial org.apache.cassandra.cql3.ColumnSpecification.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
            astore 3 /* vr */
        start local 3 // org.apache.cassandra.cql3.ColumnSpecification vr
        14: .line 442
            new org.apache.cassandra.cql3.Sets$Discarder
            dup
            aload 2 /* receiver */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 3 /* vr */
            invokevirtual org.apache.cassandra.cql3.Term$Raw.prepare:(Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/Term;
            invokespecial org.apache.cassandra.cql3.Sets$Discarder.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Term;)V
            areturn
        end local 3 // org.apache.cassandra.cql3.ColumnSpecification vr
        15: .line 444
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // org.apache.cassandra.config.ColumnDefinition receiver
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.cql3.Operation$Substraction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/apache/cassandra/cql3/Operation$Substraction;
            0   16     1       cfm  Lorg/apache/cassandra/config/CFMetaData;
            0   16     2  receiver  Lorg/apache/cassandra/config/ColumnDefinition;
           14   15     3        vr  Lorg/apache/cassandra/cql3/ColumnSpecification;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
          Name  Flags
      cfm       
      receiver  

  protected java.lang.String toString(org.apache.cassandra.cql3.ColumnSpecification);
    descriptor: (Lorg/apache/cassandra/cql3/ColumnSpecification;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.Operation$Substraction this
        start local 1 // org.apache.cassandra.cql3.ColumnSpecification column
         0: .line 449
            ldc "%s = %s - %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* column */
            getfield org.apache.cassandra.cql3.ColumnSpecification.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            dup
            iconst_1
            aload 1 /* column */
            getfield org.apache.cassandra.cql3.ColumnSpecification.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // org.apache.cassandra.cql3.ColumnSpecification column
        end local 0 // org.apache.cassandra.cql3.Operation$Substraction this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/cql3/Operation$Substraction;
            0    1     1  column  Lorg/apache/cassandra/cql3/ColumnSpecification;
    MethodParameters:
        Name  Flags
      column  

  public boolean isCompatibleWith(org.apache.cassandra.cql3.Operation$RawUpdate);
    descriptor: (Lorg/apache/cassandra/cql3/Operation$RawUpdate;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.Operation$Substraction this
        start local 1 // org.apache.cassandra.cql3.Operation$RawUpdate other
         0: .line 454
            aload 1 /* other */
            instanceof org.apache.cassandra.cql3.Operation$SetValue
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.apache.cassandra.cql3.Operation$RawUpdate other
        end local 0 // org.apache.cassandra.cql3.Operation$Substraction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/cql3/Operation$Substraction;
            0    3     1  other  Lorg/apache/cassandra/cql3/Operation$RawUpdate;
    MethodParameters:
       Name  Flags
      other  

  public org.apache.cassandra.cql3.Term$Raw value();
    descriptor: ()Lorg/apache/cassandra/cql3/Term$Raw;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.Operation$Substraction this
         0: .line 459
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.Operation$Substraction.value:Lorg/apache/cassandra/cql3/Term$Raw;
            areturn
        end local 0 // org.apache.cassandra.cql3.Operation$Substraction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/Operation$Substraction;

  static int[] $SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 410
            getstatic org.apache.cassandra.cql3.Operation$Substraction.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.db.marshal.CollectionType$Kind.values:()[Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.LIST:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.MAP:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.SET:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.cassandra.cql3.Operation$Substraction.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "Operation.java"
NestHost: org.apache.cassandra.cql3.Operation
InnerClasses:
  public Substracter = org.apache.cassandra.cql3.Constants$Substracter of org.apache.cassandra.cql3.Constants
  public Discarder = org.apache.cassandra.cql3.Lists$Discarder of org.apache.cassandra.cql3.Lists
  public abstract RawUpdate = org.apache.cassandra.cql3.Operation$RawUpdate of org.apache.cassandra.cql3.Operation
  public SetValue = org.apache.cassandra.cql3.Operation$SetValue of org.apache.cassandra.cql3.Operation
  public Substraction = org.apache.cassandra.cql3.Operation$Substraction of org.apache.cassandra.cql3.Operation
  public Discarder = org.apache.cassandra.cql3.Sets$Discarder of org.apache.cassandra.cql3.Sets
  public abstract Raw = org.apache.cassandra.cql3.Term$Raw of org.apache.cassandra.cql3.Term
  public abstract Kind = org.apache.cassandra.db.marshal.CollectionType$Kind of org.apache.cassandra.db.marshal.CollectionType