public class org.apache.cassandra.db.view.ViewUpdateGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.view.ViewUpdateGenerator
  super_class: java.lang.Object
{
  private final org.apache.cassandra.db.view.View view;
    descriptor: Lorg/apache/cassandra/db/view/View;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int nowInSec;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.config.CFMetaData baseMetadata;
    descriptor: Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.DecoratedKey baseDecoratedKey;
    descriptor: Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.ByteBuffer[] basePartitionKey;
    descriptor: [Ljava/nio/ByteBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.config.CFMetaData viewMetadata;
    descriptor: Lorg/apache/cassandra/config/CFMetaData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean baseEnforceStrictLiveness;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.partitions.PartitionUpdate> updates;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/partitions/PartitionUpdate;>;

  private final java.nio.ByteBuffer[] currentViewEntryPartitionKey;
    descriptor: [Ljava/nio/ByteBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.rows.Row$Builder currentViewEntryBuilder;
    descriptor: Lorg/apache/cassandra/db/rows/Row$Builder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            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.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.view.View, org.apache.cassandra.db.DecoratedKey, int);
    descriptor: (Lorg/apache/cassandra/db/view/View;Lorg/apache/cassandra/db/DecoratedKey;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.view.View view
        start local 2 // org.apache.cassandra.db.DecoratedKey basePartitionKey
        start local 3 // int nowInSec
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.updates:Ljava/util/Map;
         2: .line 86
            aload 0 /* this */
            aload 1 /* view */
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
         3: .line 87
            aload 0 /* this */
            iload 3 /* nowInSec */
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
         4: .line 89
            aload 0 /* this */
            aload 1 /* view */
            invokevirtual org.apache.cassandra.db.view.View.getDefinition:()Lorg/apache/cassandra/config/ViewDefinition;
            invokevirtual org.apache.cassandra.config.ViewDefinition.baseTableMetadata:()Lorg/apache/cassandra/config/CFMetaData;
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseMetadata:Lorg/apache/cassandra/config/CFMetaData;
         5: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.enforceStrictLiveness:()Z
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseEnforceStrictLiveness:Z
         6: .line 91
            aload 0 /* this */
            aload 2 /* basePartitionKey */
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseDecoratedKey:Lorg/apache/cassandra/db/DecoratedKey;
         7: .line 92
            aload 0 /* this */
            aload 2 /* basePartitionKey */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.getKeyValidator:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokestatic org.apache.cassandra.db.view.ViewUpdateGenerator.extractKeyComponents:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/marshal/AbstractType;)[Ljava/nio/ByteBuffer;
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.basePartitionKey:[Ljava/nio/ByteBuffer;
         8: .line 94
            aload 0 /* this */
            aload 1 /* view */
            invokevirtual org.apache.cassandra.db.view.View.getDefinition:()Lorg/apache/cassandra/config/ViewDefinition;
            getfield org.apache.cassandra.config.ViewDefinition.metadata:Lorg/apache/cassandra/config/CFMetaData;
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
         9: .line 96
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.nio.ByteBuffer
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryPartitionKey:[Ljava/nio/ByteBuffer;
        10: .line 97
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.rows.BTreeRow.sortedBuilder:()Lorg/apache/cassandra/db/rows/Row$Builder;
            putfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
        11: .line 98
            return
        end local 3 // int nowInSec
        end local 2 // org.apache.cassandra.db.DecoratedKey basePartitionKey
        end local 1 // org.apache.cassandra.db.view.View view
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   12     1              view  Lorg/apache/cassandra/db/view/View;
            0   12     2  basePartitionKey  Lorg/apache/cassandra/db/DecoratedKey;
            0   12     3          nowInSec  I
    MethodParameters:
                  Name  Flags
      view              
      basePartitionKey  
      nowInSec          

  private static java.nio.ByteBuffer[] extractKeyComponents(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/marshal/AbstractType;)[Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.DecoratedKey partitionKey
        start local 1 // org.apache.cassandra.db.marshal.AbstractType type
         0: .line 102
            aload 1 /* type */
            instanceof org.apache.cassandra.db.marshal.CompositeType
            ifeq 2
         1: .line 103
            aload 1 /* type */
            checkcast org.apache.cassandra.db.marshal.CompositeType
            aload 0 /* partitionKey */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.CompositeType.split:(Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer;
            goto 3
         2: .line 104
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 0 /* partitionKey */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
            aastore
         3: .line 102
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer[]
            areturn
        end local 1 // org.apache.cassandra.db.marshal.AbstractType type
        end local 0 // org.apache.cassandra.db.DecoratedKey partitionKey
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  partitionKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    4     1          type  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    Signature: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/marshal/AbstractType<*>;)[Ljava/nio/ByteBuffer;
    MethodParameters:
              Name  Flags
      partitionKey  
      type          

  public void addBaseTableUpdate(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 117
            invokestatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$db$view$ViewUpdateGenerator$UpdateAction:()[I
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.updateAction:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 1
                    2: 2
                    3: 4
                    4: 6
                    5: 8
              default: 11
          }
         1: .line 120
      StackMap locals:
      StackMap stack:
            return
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.createEntry:(Lorg/apache/cassandra/db/rows/Row;)V
         3: .line 123
            return
         4: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.deleteOldEntry:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
         5: .line 126
            return
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.updateEntry:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
         7: .line 129
            return
         8: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.createEntry:(Lorg/apache/cassandra/db/rows/Row;)V
         9: .line 132
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.deleteOldEntry:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
        10: .line 133
            return
        11: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   12     1  existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   12     2    mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  public java.util.Collection<org.apache.cassandra.db.partitions.PartitionUpdate> generateViewUpdates();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
         0: .line 145
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.updates:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
    Signature: ()Ljava/util/Collection<Lorg/apache/cassandra/db/partitions/PartitionUpdate;>;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
         0: .line 153
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.updates:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 154
            return
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;

  private org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction updateAction(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 164
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.isEmpty:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.isCompactTable:()Z
            ifeq 9
         2: .line 175
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
            astore 3 /* clustering */
        start local 3 // org.apache.cassandra.db.Clustering clustering
         3: .line 176
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 178
      StackMap locals: org.apache.cassandra.db.Clustering int
      StackMap stack:
            aload 3 /* clustering */
            iload 4 /* i */
            invokeinterface org.apache.cassandra.db.Clustering.get:(I)Ljava/nio/ByteBuffer;
            ifnonnull 7
         6: .line 179
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NONE:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            areturn
         7: .line 176
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* clustering */
            invokeinterface org.apache.cassandra.db.Clustering.size:()I
            if_icmplt 5
        end local 4 // int i
        end local 3 // org.apache.cassandra.db.Clustering clustering
         9: .line 183
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 10
            new java.lang.AssertionError
            dup
            ldc "We currently only support one base non-PK column in the view PK"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        11: .line 190
            aload 1 /* existingBaseRow */
            ifnull 12
            aload 1 /* existingBaseRow */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseEnforceStrictLiveness:Z
            invokeinterface org.apache.cassandra.db.rows.Row.hasLiveData:(IZ)Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* existingHasLiveData */
        start local 3 // boolean existingHasLiveData
        14: .line 191
            aload 2 /* mergedBaseRow */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseEnforceStrictLiveness:Z
            invokeinterface org.apache.cassandra.db.rows.Row.hasLiveData:(IZ)Z
            istore 4 /* mergedHasLiveData */
        start local 4 // boolean mergedHasLiveData
        15: .line 192
            iload 3 /* existingHasLiveData */
            ifeq 18
        16: .line 193
            iload 4 /* mergedHasLiveData */
            ifeq 17
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.UPDATE_EXISTING:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 20
      StackMap locals: int int
      StackMap stack:
        17: getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.DELETE_OLD:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 20
        18: .line 194
      StackMap locals:
      StackMap stack:
            iload 4 /* mergedHasLiveData */
            ifeq 19
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NEW_ENTRY:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 20
      StackMap locals:
      StackMap stack:
        19: getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NONE:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
        20: .line 192
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction
            areturn
        end local 4 // boolean mergedHasLiveData
        end local 3 // boolean existingHasLiveData
        21: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 3 /* baseColumn */
        start local 3 // org.apache.cassandra.config.ColumnDefinition baseColumn
        22: .line 198
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 23
            aload 3 /* baseColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            ifeq 23
            new java.lang.AssertionError
            dup
            ldc "A complex column couldn't be part of the view PK"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 199
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aload 1 /* existingBaseRow */
            ifnonnull 24
            aconst_null
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1 /* existingBaseRow */
            aload 3 /* baseColumn */
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.rows.Cell
        25: astore 4 /* before */
        start local 4 // org.apache.cassandra.db.rows.Cell before
        26: .line 200
            aload 2 /* mergedBaseRow */
            aload 3 /* baseColumn */
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            astore 5 /* after */
        start local 5 // org.apache.cassandra.db.rows.Cell after
        27: .line 203
            aload 4 /* before */
            aload 5 /* after */
            if_acmpne 31
        28: .line 204
            aload 0 /* this */
            aload 4 /* before */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifeq 29
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.UPDATE_EXISTING:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 30
      StackMap locals: org.apache.cassandra.db.rows.Cell org.apache.cassandra.db.rows.Cell
      StackMap stack:
        29: getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NONE:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction
        30: areturn
        31: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* before */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifne 35
        32: .line 207
            aload 0 /* this */
            aload 5 /* after */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifeq 33
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NEW_ENTRY:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 34
      StackMap locals:
      StackMap stack:
        33: getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NONE:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction
        34: areturn
        35: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* after */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifne 37
        36: .line 210
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.DELETE_OLD:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            areturn
        37: .line 213
      StackMap locals:
      StackMap stack:
            aload 3 /* baseColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.cellValueType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 4 /* before */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            aload 5 /* after */
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.compare:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            ifne 39
        38: .line 214
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.UPDATE_EXISTING:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            goto 40
        39: .line 215
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.SWITCH_ENTRY:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
        40: .line 213
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction
            areturn
        end local 5 // org.apache.cassandra.db.rows.Cell after
        end local 4 // org.apache.cassandra.db.rows.Cell before
        end local 3 // org.apache.cassandra.config.ColumnDefinition baseColumn
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   41     0                 this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   41     1      existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   41     2        mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
            3    9     3           clustering  Lorg/apache/cassandra/db/Clustering;
            4    9     4                    i  I
           14   21     3  existingHasLiveData  Z
           15   21     4    mergedHasLiveData  Z
           22   41     3           baseColumn  Lorg/apache/cassandra/config/ColumnDefinition;
           26   41     4               before  Lorg/apache/cassandra/db/rows/Cell;
           27   41     5                after  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private boolean matchesViewFilter(org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row baseRow
         0: .line 220
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.baseDecoratedKey:Lorg/apache/cassandra/db/DecoratedKey;
            aload 1 /* baseRow */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokevirtual org.apache.cassandra.db.view.View.matchesViewFilter:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;I)Z
            ireturn
        end local 1 // org.apache.cassandra.db.rows.Row baseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0    1     1  baseRow  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
         Name  Flags
      baseRow  

  private boolean isLive(org.apache.cassandra.db.rows.Cell);
    descriptor: (Lorg/apache/cassandra/db/rows/Cell;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Cell cell
         0: .line 225
            aload 1 /* cell */
            ifnull 1
            aload 1 /* cell */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokevirtual org.apache.cassandra.db.rows.Cell.isLive:(I)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.cassandra.db.rows.Cell cell
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0    2     1  cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
      Name  Flags
      cell  

  private void createEntry(org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row baseRow
         0: .line 236
            aload 0 /* this */
            aload 1 /* baseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.matchesViewFilter:(Lorg/apache/cassandra/db/rows/Row;)Z
            ifne 2
         1: .line 237
            return
         2: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* baseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.startNewUpdate:(Lorg/apache/cassandra/db/rows/Row;)V
         3: .line 240
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 0 /* this */
            aload 1 /* baseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.computeLivenessInfoForEntry:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/LivenessInfo;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addPrimaryKeyLivenessInfo:(Lorg/apache/cassandra/db/LivenessInfo;)V
         4: .line 241
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 1 /* baseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addRowDeletion:(Lorg/apache/cassandra/db/rows/Row$Deletion;)V
         5: .line 243
            aload 1 /* baseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.ColumnData
            astore 2 /* data */
        start local 2 // org.apache.cassandra.db.rows.ColumnData data
         7: .line 245
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 2 /* data */
            invokevirtual org.apache.cassandra.db.rows.ColumnData.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.view.View.getViewColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 4 /* viewColumn */
        start local 4 // org.apache.cassandra.config.ColumnDefinition viewColumn
         8: .line 248
            aload 4 /* viewColumn */
            ifnull 11
            aload 4 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifeq 10
         9: .line 249
            goto 11
        10: .line 251
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aload 0 /* this */
            aload 4 /* viewColumn */
            aload 2 /* data */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addColumnData:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/ColumnData;)V
        end local 4 // org.apache.cassandra.config.ColumnDefinition viewColumn
        end local 2 // org.apache.cassandra.db.rows.ColumnData data
        11: .line 243
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 254
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.submitUpdate:()V
        13: .line 255
            return
        end local 1 // org.apache.cassandra.db.rows.Row baseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   14     1     baseRow  Lorg/apache/cassandra/db/rows/Row;
            7   11     2        data  Lorg/apache/cassandra/db/rows/ColumnData;
            8   11     4  viewColumn  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
         Name  Flags
      baseRow  

  private void updateEntry(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 269
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.matchesViewFilter:(Lorg/apache/cassandra/db/rows/Row;)Z
            ifne 3
         1: .line 271
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.createEntry:(Lorg/apache/cassandra/db/rows/Row;)V
         2: .line 272
            return
         3: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.matchesViewFilter:(Lorg/apache/cassandra/db/rows/Row;)Z
            ifne 6
         4: .line 276
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.deleteOldEntryInternal:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
         5: .line 277
            return
         6: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.startNewUpdate:(Lorg/apache/cassandra/db/rows/Row;)V
         7: .line 285
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 0 /* this */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.computeLivenessInfoForEntry:(Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/LivenessInfo;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addPrimaryKeyLivenessInfo:(Lorg/apache/cassandra/db/LivenessInfo;)V
         8: .line 286
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addRowDeletion:(Lorg/apache/cassandra/db/rows/Row$Deletion;)V
         9: .line 288
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addDifferentCells:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
        10: .line 289
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.submitUpdate:()V
        11: .line 290
            return
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   12     1  existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   12     2    mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private void addDifferentCells(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=17, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 304
            aload 1 /* existingBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.iterator:()Ljava/util/Iterator;
            invokestatic com.google.common.collect.Iterators.peekingIterator:(Ljava/util/Iterator;)Lcom/google/common/collect/PeekingIterator;
            astore 3 /* existingIter */
        start local 3 // com.google.common.collect.PeekingIterator existingIter
         1: .line 305
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.iterator:()Ljava/util/Iterator;
            astore 5
            goto 45
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.ColumnData
            astore 4 /* mergedData */
        start local 4 // org.apache.cassandra.db.rows.ColumnData mergedData
         3: .line 307
            aload 4 /* mergedData */
            invokevirtual org.apache.cassandra.db.rows.ColumnData.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            astore 6 /* baseColumn */
        start local 6 // org.apache.cassandra.config.ColumnDefinition baseColumn
         4: .line 308
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 6 /* baseColumn */
            invokevirtual org.apache.cassandra.db.view.View.getViewColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 7 /* viewColumn */
        start local 7 // org.apache.cassandra.config.ColumnDefinition viewColumn
         5: .line 311
            aload 7 /* viewColumn */
            ifnull 45
            aload 7 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifeq 7
         6: .line 312
            goto 45
         7: .line 314
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aconst_null
            astore 8 /* existingData */
        start local 8 // org.apache.cassandra.db.rows.ColumnData existingData
         8: .line 316
            goto 16
         9: .line 318
      StackMap locals: org.apache.cassandra.db.rows.ColumnData
      StackMap stack:
            aload 6 /* baseColumn */
            aload 3 /* existingIter */
            invokeinterface com.google.common.collect.PeekingIterator.peek:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.ColumnData
            invokevirtual org.apache.cassandra.db.rows.ColumnData.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.compareTo:(Lorg/apache/cassandra/config/ColumnDefinition;)I
            istore 9 /* cmp */
        start local 9 // int cmp
        10: .line 319
            iload 9 /* cmp */
            ifge 12
        11: .line 320
            goto 17
        12: .line 322
      StackMap locals: int
      StackMap stack:
            aload 3 /* existingIter */
            invokeinterface com.google.common.collect.PeekingIterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.ColumnData
            astore 10 /* next */
        start local 10 // org.apache.cassandra.db.rows.ColumnData next
        13: .line 323
            iload 9 /* cmp */
            ifne 16
        14: .line 325
            aload 10 /* next */
            astore 8 /* existingData */
        15: .line 326
            goto 17
        end local 10 // org.apache.cassandra.db.rows.ColumnData next
        end local 9 // int cmp
        16: .line 316
      StackMap locals:
      StackMap stack:
            aload 3 /* existingIter */
            invokeinterface com.google.common.collect.PeekingIterator.hasNext:()Z
            ifne 9
        17: .line 330
      StackMap locals:
      StackMap stack:
            aload 8 /* existingData */
            ifnonnull 20
        18: .line 332
            aload 0 /* this */
            aload 7 /* viewColumn */
            aload 4 /* mergedData */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addColumnData:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/ColumnData;)V
        19: .line 333
            goto 45
        20: .line 336
      StackMap locals:
      StackMap stack:
            aload 4 /* mergedData */
            aload 8 /* existingData */
            if_acmpne 22
        21: .line 337
            goto 45
        22: .line 339
      StackMap locals:
      StackMap stack:
            aload 6 /* baseColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            ifeq 44
        23: .line 341
            aload 4 /* mergedData */
            checkcast org.apache.cassandra.db.rows.ComplexColumnData
            astore 9 /* mergedComplexData */
        start local 9 // org.apache.cassandra.db.rows.ComplexColumnData mergedComplexData
        24: .line 342
            aload 8 /* existingData */
            checkcast org.apache.cassandra.db.rows.ComplexColumnData
            astore 10 /* existingComplexData */
        start local 10 // org.apache.cassandra.db.rows.ComplexColumnData existingComplexData
        25: .line 343
            aload 9 /* mergedComplexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.complexDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            aload 10 /* existingComplexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.complexDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            invokevirtual org.apache.cassandra.db.DeletionTime.supersedes:(Lorg/apache/cassandra/db/DeletionTime;)Z
            ifeq 27
        26: .line 344
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 7 /* viewColumn */
            aload 9 /* mergedComplexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.complexDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addComplexDeletion:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/DeletionTime;)V
        27: .line 346
      StackMap locals: org.apache.cassandra.db.rows.ComplexColumnData org.apache.cassandra.db.rows.ComplexColumnData
      StackMap stack:
            aload 10 /* existingComplexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.iterator:()Ljava/util/Iterator;
            invokestatic com.google.common.collect.Iterators.peekingIterator:(Ljava/util/Iterator;)Lcom/google/common/collect/PeekingIterator;
            astore 11 /* existingCells */
        start local 11 // com.google.common.collect.PeekingIterator existingCells
        28: .line 347
            aload 9 /* mergedComplexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.iterator:()Ljava/util/Iterator;
            astore 13
            goto 42
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.rows.ColumnData org.apache.cassandra.db.rows.ComplexColumnData org.apache.cassandra.db.rows.ComplexColumnData com.google.common.collect.PeekingIterator top java.util.Iterator
      StackMap stack:
        29: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 12 /* mergedCell */
        start local 12 // org.apache.cassandra.db.rows.Cell mergedCell
        30: .line 349
            aconst_null
            astore 14 /* existingCell */
        start local 14 // org.apache.cassandra.db.rows.Cell existingCell
        31: .line 351
            goto 39
        32: .line 353
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.rows.ColumnData org.apache.cassandra.db.rows.ComplexColumnData org.apache.cassandra.db.rows.ComplexColumnData com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.Cell java.util.Iterator org.apache.cassandra.db.rows.Cell
      StackMap stack:
            aload 6 /* baseColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.cellPathComparator:()Ljava/util/Comparator;
            aload 12 /* mergedCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
            aload 11 /* existingCells */
            invokeinterface com.google.common.collect.PeekingIterator.peek:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            invokevirtual org.apache.cassandra.db.rows.Cell.path:()Lorg/apache/cassandra/db/rows/CellPath;
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 15 /* cmp */
        start local 15 // int cmp
        33: .line 354
            iload 15 /* cmp */
            ifle 35
        34: .line 355
            goto 40
        35: .line 357
      StackMap locals: int
      StackMap stack:
            aload 11 /* existingCells */
            invokeinterface com.google.common.collect.PeekingIterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 16 /* next */
        start local 16 // org.apache.cassandra.db.rows.Cell next
        36: .line 358
            iload 15 /* cmp */
            ifne 39
        37: .line 360
            aload 16 /* next */
            astore 14 /* existingCell */
        38: .line 361
            goto 40
        end local 16 // org.apache.cassandra.db.rows.Cell next
        end local 15 // int cmp
        39: .line 351
      StackMap locals:
      StackMap stack:
            aload 11 /* existingCells */
            invokeinterface com.google.common.collect.PeekingIterator.hasNext:()Z
            ifne 32
        40: .line 365
      StackMap locals:
      StackMap stack:
            aload 12 /* mergedCell */
            aload 14 /* existingCell */
            if_acmpeq 42
        41: .line 366
            aload 0 /* this */
            aload 7 /* viewColumn */
            aload 12 /* mergedCell */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addCell:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Cell;)V
        end local 14 // org.apache.cassandra.db.rows.Cell existingCell
        end local 12 // org.apache.cassandra.db.rows.Cell mergedCell
        42: .line 347
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.rows.ColumnData org.apache.cassandra.db.rows.ComplexColumnData org.apache.cassandra.db.rows.ComplexColumnData com.google.common.collect.PeekingIterator top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        end local 11 // com.google.common.collect.PeekingIterator existingCells
        end local 10 // org.apache.cassandra.db.rows.ComplexColumnData existingComplexData
        end local 9 // org.apache.cassandra.db.rows.ComplexColumnData mergedComplexData
        43: .line 368
            goto 45
        44: .line 372
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator org.apache.cassandra.db.rows.ColumnData java.util.Iterator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.rows.ColumnData
      StackMap stack:
            aload 0 /* this */
            aload 7 /* viewColumn */
            aload 4 /* mergedData */
            checkcast org.apache.cassandra.db.rows.Cell
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addCell:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Cell;)V
        end local 8 // org.apache.cassandra.db.rows.ColumnData existingData
        end local 7 // org.apache.cassandra.config.ColumnDefinition viewColumn
        end local 6 // org.apache.cassandra.config.ColumnDefinition baseColumn
        end local 4 // org.apache.cassandra.db.rows.ColumnData mergedData
        45: .line 305
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row com.google.common.collect.PeekingIterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        46: .line 375
            return
        end local 3 // com.google.common.collect.PeekingIterator existingIter
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   47     0                 this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   47     1      existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   47     2        mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
            1   47     3         existingIter  Lcom/google/common/collect/PeekingIterator<Lorg/apache/cassandra/db/rows/ColumnData;>;
            3   45     4           mergedData  Lorg/apache/cassandra/db/rows/ColumnData;
            4   45     6           baseColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            5   45     7           viewColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            8   45     8         existingData  Lorg/apache/cassandra/db/rows/ColumnData;
           10   16     9                  cmp  I
           13   16    10                 next  Lorg/apache/cassandra/db/rows/ColumnData;
           24   43     9    mergedComplexData  Lorg/apache/cassandra/db/rows/ComplexColumnData;
           25   43    10  existingComplexData  Lorg/apache/cassandra/db/rows/ComplexColumnData;
           28   43    11        existingCells  Lcom/google/common/collect/PeekingIterator<Lorg/apache/cassandra/db/rows/Cell;>;
           30   42    12           mergedCell  Lorg/apache/cassandra/db/rows/Cell;
           31   42    14         existingCell  Lorg/apache/cassandra/db/rows/Cell;
           33   39    15                  cmp  I
           36   39    16                 next  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private void deleteOldEntry(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 385
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.matchesViewFilter:(Lorg/apache/cassandra/db/rows/Row;)Z
            ifne 2
         1: .line 386
            return
         2: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.deleteOldEntryInternal:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
         3: .line 389
            return
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0    4     1  existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0    4     2    mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private void deleteOldEntryInternal(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 393
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.startNewUpdate:(Lorg/apache/cassandra/db/rows/Row;)V
         1: .line 394
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.computeTimestampForEntryDeletion:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)J
            lstore 3 /* timestamp */
        start local 3 // long timestamp
         2: .line 395
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokevirtual org.apache.cassandra.db.rows.Row$Deletion.time:()Lorg/apache/cassandra/db/DeletionTime;
            invokevirtual org.apache.cassandra.db.DeletionTime.markedForDeleteAt:()J
            lstore 5 /* rowDeletion */
        start local 5 // long rowDeletion
         3: .line 396
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 4
            lload 3 /* timestamp */
            lload 5 /* rowDeletion */
            lcmp
            ifge 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 403
      StackMap locals: long long
      StackMap stack:
            lload 3 /* timestamp */
            lload 5 /* rowDeletion */
            lcmp
            ifle 7
         5: .line 412
            lload 3 /* timestamp */
            ldc 2147483647
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokestatic org.apache.cassandra.db.LivenessInfo.withExpirationTime:(JII)Lorg/apache/cassandra/db/LivenessInfo;
            astore 7 /* info */
        start local 7 // org.apache.cassandra.db.LivenessInfo info
         6: .line 413
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 7 /* info */
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addPrimaryKeyLivenessInfo:(Lorg/apache/cassandra/db/LivenessInfo;)V
        end local 7 // org.apache.cassandra.db.LivenessInfo info
         7: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addRowDeletion:(Lorg/apache/cassandra/db/rows/Row$Deletion;)V
         8: .line 417
            aload 0 /* this */
            aload 1 /* existingBaseRow */
            aload 2 /* mergedBaseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addDifferentCells:(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)V
         9: .line 418
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.submitUpdate:()V
        10: .line 419
            return
        end local 5 // long rowDeletion
        end local 3 // long timestamp
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   11     1  existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   11     2    mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
            2   11     3        timestamp  J
            3   11     5      rowDeletion  J
            6    7     7             info  Lorg/apache/cassandra/db/LivenessInfo;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private void startNewUpdate(org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row baseRow
         0: .line 430
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.clusteringColumns:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.nio.ByteBuffer
            astore 2 /* clusteringValues */
        start local 2 // java.nio.ByteBuffer[] clusteringValues
         1: .line 431
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.primaryKeyColumns:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row java.nio.ByteBuffer[] top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 3 /* viewColumn */
        start local 3 // org.apache.cassandra.config.ColumnDefinition viewColumn
         3: .line 433
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 3 /* viewColumn */
            invokevirtual org.apache.cassandra.db.view.View.getBaseColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 5 /* baseColumn */
        start local 5 // org.apache.cassandra.config.ColumnDefinition baseColumn
         4: .line 434
            aload 0 /* this */
            aload 5 /* baseColumn */
            aload 1 /* baseRow */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.getValueForPK:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Row;)Ljava/nio/ByteBuffer;
            astore 6 /* value */
        start local 6 // java.nio.ByteBuffer value
         5: .line 435
            aload 3 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPartitionKey:()Z
            ifeq 7
         6: .line 436
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryPartitionKey:[Ljava/nio/ByteBuffer;
            aload 3 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            aload 6 /* value */
            aastore
            goto 8
         7: .line 438
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row java.nio.ByteBuffer[] org.apache.cassandra.config.ColumnDefinition java.util.Iterator org.apache.cassandra.config.ColumnDefinition java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* clusteringValues */
            aload 3 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            aload 6 /* value */
            aastore
        end local 6 // java.nio.ByteBuffer value
        end local 5 // org.apache.cassandra.config.ColumnDefinition baseColumn
        end local 3 // org.apache.cassandra.config.ColumnDefinition viewColumn
         8: .line 431
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row java.nio.ByteBuffer[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 441
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 2 /* clusteringValues */
            invokestatic org.apache.cassandra.db.Clustering.make:([Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/Clustering;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.newRow:(Lorg/apache/cassandra/db/Clustering;)V
        10: .line 442
            return
        end local 2 // java.nio.ByteBuffer[] clusteringValues
        end local 1 // org.apache.cassandra.db.rows.Row baseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   11     1           baseRow  Lorg/apache/cassandra/db/rows/Row;
            1   11     2  clusteringValues  [Ljava/nio/ByteBuffer;
            3    8     3        viewColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            4    8     5        baseColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            5    8     6             value  Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      baseRow  

  private org.apache.cassandra.db.LivenessInfo computeLivenessInfoForEntry(org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;)Lorg/apache/cassandra/db/LivenessInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row baseRow
         0: .line 460
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 462
      StackMap locals:
      StackMap stack:
            aload 1 /* baseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
            astore 2 /* baseLiveness */
        start local 2 // org.apache.cassandra.db.LivenessInfo baseLiveness
         2: .line 464
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            invokevirtual org.apache.cassandra.db.view.View.hasSamePrimaryKeyColumnsAsBaseTable:()Z
            ifeq 35
         3: .line 466
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            invokevirtual org.apache.cassandra.db.view.View.getDefinition:()Lorg/apache/cassandra/config/ViewDefinition;
            getfield org.apache.cassandra.config.ViewDefinition.includeAllColumns:Z
            ifeq 5
         4: .line 467
            aload 2 /* baseLiveness */
            areturn
         5: .line 469
      StackMap locals: org.apache.cassandra.db.LivenessInfo
      StackMap stack:
            aload 2 /* baseLiveness */
            invokevirtual org.apache.cassandra.db.LivenessInfo.timestamp:()J
            lstore 3 /* timestamp */
        start local 3 // long timestamp
         6: .line 470
            iconst_0
            istore 5 /* hasNonExpiringLiveCell */
        start local 5 // boolean hasNonExpiringLiveCell
         7: .line 471
            aconst_null
            astore 6 /* biggestExpirationCell */
        start local 6 // org.apache.cassandra.db.rows.Cell biggestExpirationCell
         8: .line 472
            aload 1 /* baseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.cells:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.LivenessInfo long int org.apache.cassandra.db.rows.Cell top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 7 /* cell */
        start local 7 // org.apache.cassandra.db.rows.Cell cell
        10: .line 474
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 7 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.view.View.getViewColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/ColumnDefinition;
            ifnull 12
        11: .line 475
            goto 21
        12: .line 476
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.LivenessInfo long int org.apache.cassandra.db.rows.Cell org.apache.cassandra.db.rows.Cell java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 7 /* cell */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifne 14
        13: .line 477
            goto 21
        14: .line 478
      StackMap locals:
      StackMap stack:
            lload 3 /* timestamp */
            aload 7 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.maxTimestamp:()J
            invokestatic java.lang.Math.max:(JJ)J
            lstore 3 /* timestamp */
        15: .line 479
            aload 7 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.isExpiring:()Z
            ifne 17
        16: .line 480
            iconst_1
            istore 5 /* hasNonExpiringLiveCell */
            goto 21
        17: .line 483
      StackMap locals:
      StackMap stack:
            aload 6 /* biggestExpirationCell */
            ifnonnull 19
        18: .line 484
            aload 7 /* cell */
            astore 6 /* biggestExpirationCell */
            goto 21
        19: .line 485
      StackMap locals:
      StackMap stack:
            aload 7 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
            aload 6 /* biggestExpirationCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
            if_icmple 21
        20: .line 486
            aload 7 /* cell */
            astore 6 /* biggestExpirationCell */
        end local 7 // org.apache.cassandra.db.rows.Cell cell
        21: .line 472
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.LivenessInfo long int org.apache.cassandra.db.rows.Cell top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        22: .line 489
            aload 2 /* baseLiveness */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokevirtual org.apache.cassandra.db.LivenessInfo.isLive:(I)Z
            ifeq 24
            aload 2 /* baseLiveness */
            invokevirtual org.apache.cassandra.db.LivenessInfo.isExpiring:()Z
            ifne 24
        23: .line 490
            lload 3 /* timestamp */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokestatic org.apache.cassandra.db.LivenessInfo.create:(JI)Lorg/apache/cassandra/db/LivenessInfo;
            areturn
        24: .line 491
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.LivenessInfo long int org.apache.cassandra.db.rows.Cell
      StackMap stack:
            iload 5 /* hasNonExpiringLiveCell */
            ifeq 26
        25: .line 492
            lload 3 /* timestamp */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokestatic org.apache.cassandra.db.LivenessInfo.create:(JI)Lorg/apache/cassandra/db/LivenessInfo;
            areturn
        26: .line 493
      StackMap locals:
      StackMap stack:
            aload 6 /* biggestExpirationCell */
            ifnonnull 28
        27: .line 494
            aload 2 /* baseLiveness */
            areturn
        28: .line 495
      StackMap locals:
      StackMap stack:
            aload 6 /* biggestExpirationCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
            aload 2 /* baseLiveness */
            invokevirtual org.apache.cassandra.db.LivenessInfo.localExpirationTime:()I
            if_icmpgt 30
        29: .line 496
            aload 2 /* baseLiveness */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.nowInSec:I
            invokevirtual org.apache.cassandra.db.LivenessInfo.isLive:(I)Z
            ifne 34
        30: .line 497
      StackMap locals:
      StackMap stack:
            lload 3 /* timestamp */
        31: .line 498
            aload 6 /* biggestExpirationCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.ttl:()I
        32: .line 499
            aload 6 /* biggestExpirationCell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
        33: .line 497
            invokestatic org.apache.cassandra.db.LivenessInfo.withExpirationTime:(JII)Lorg/apache/cassandra/db/LivenessInfo;
            areturn
        34: .line 500
      StackMap locals:
      StackMap stack:
            aload 2 /* baseLiveness */
            areturn
        end local 6 // org.apache.cassandra.db.rows.Cell biggestExpirationCell
        end local 5 // boolean hasNonExpiringLiveCell
        end local 3 // long timestamp
        35: .line 503
      StackMap locals:
      StackMap stack:
            aload 1 /* baseRow */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            astore 3 /* cell */
        start local 3 // org.apache.cassandra.db.rows.Cell cell
        36: .line 504
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 37
            aload 0 /* this */
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifne 37
            new java.lang.AssertionError
            dup
            ldc "We shouldn't have got there if the base row had no associated entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        37: .line 506
      StackMap locals: org.apache.cassandra.db.rows.Cell
      StackMap stack:
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.ttl:()I
            aload 3 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
            invokestatic org.apache.cassandra.db.LivenessInfo.withExpirationTime:(JII)Lorg/apache/cassandra/db/LivenessInfo;
            areturn
        end local 3 // org.apache.cassandra.db.rows.Cell cell
        end local 2 // org.apache.cassandra.db.LivenessInfo baseLiveness
        end local 1 // org.apache.cassandra.db.rows.Row baseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   38     0                    this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   38     1                 baseRow  Lorg/apache/cassandra/db/rows/Row;
            2   38     2            baseLiveness  Lorg/apache/cassandra/db/LivenessInfo;
            6   35     3               timestamp  J
            7   35     5  hasNonExpiringLiveCell  Z
            8   35     6   biggestExpirationCell  Lorg/apache/cassandra/db/rows/Cell;
           10   21     7                    cell  Lorg/apache/cassandra/db/rows/Cell;
           36   38     3                    cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
         Name  Flags
      baseRow  

  private long computeTimestampForEntryDeletion(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        start local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
         0: .line 511
            aload 2 /* mergedBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.deletion:()Lorg/apache/cassandra/db/rows/Row$Deletion;
            invokevirtual org.apache.cassandra.db.rows.Row$Deletion.time:()Lorg/apache/cassandra/db/DeletionTime;
            astore 3 /* deletion */
        start local 3 // org.apache.cassandra.db.DeletionTime deletion
         1: .line 512
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            invokevirtual org.apache.cassandra.db.view.View.hasSamePrimaryKeyColumnsAsBaseTable:()Z
            ifeq 12
         2: .line 514
            aload 3 /* deletion */
            invokevirtual org.apache.cassandra.db.DeletionTime.markedForDeleteAt:()J
            aload 1 /* existingBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.primaryKeyLivenessInfo:()Lorg/apache/cassandra/db/LivenessInfo;
            invokevirtual org.apache.cassandra.db.LivenessInfo.timestamp:()J
            invokestatic java.lang.Math.max:(JJ)J
            lstore 4 /* timestamp */
        start local 4 // long timestamp
         3: .line 515
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            invokevirtual org.apache.cassandra.db.view.View.getDefinition:()Lorg/apache/cassandra/config/ViewDefinition;
            getfield org.apache.cassandra.config.ViewDefinition.includeAllColumns:Z
            ifeq 5
         4: .line 516
            lload 4 /* timestamp */
            lreturn
         5: .line 518
      StackMap locals: org.apache.cassandra.db.DeletionTime long
      StackMap stack:
            aload 1 /* existingBaseRow */
            invokeinterface org.apache.cassandra.db.rows.Row.cells:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row org.apache.cassandra.db.DeletionTime long top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 6 /* cell */
        start local 6 // org.apache.cassandra.db.rows.Cell cell
         7: .line 521
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            aload 6 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.db.view.View.getViewColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/config/ColumnDefinition;
            ifnull 9
         8: .line 522
            goto 10
         9: .line 524
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row org.apache.cassandra.db.DeletionTime long org.apache.cassandra.db.rows.Cell java.util.Iterator
      StackMap stack:
            lload 4 /* timestamp */
            aload 6 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.maxTimestamp:()J
            invokestatic java.lang.Math.max:(JJ)J
            lstore 4 /* timestamp */
        end local 6 // org.apache.cassandra.db.rows.Cell cell
        10: .line 518
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row org.apache.cassandra.db.DeletionTime long top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 526
            lload 4 /* timestamp */
            lreturn
        end local 4 // long timestamp
        12: .line 529
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.db.rows.Row org.apache.cassandra.db.rows.Row org.apache.cassandra.db.DeletionTime
      StackMap stack:
            aload 1 /* existingBaseRow */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.view:Lorg/apache/cassandra/db/view/View;
            getfield org.apache.cassandra.db.view.View.baseNonPKColumnsInViewPK:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            astore 4 /* before */
        start local 4 // org.apache.cassandra.db.rows.Cell before
        13: .line 530
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            aload 4 /* before */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.isLive:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            ldc "We shouldn't have got there if the base row had no associated entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 531
      StackMap locals: org.apache.cassandra.db.rows.Cell
      StackMap stack:
            aload 3 /* deletion */
            aload 4 /* before */
            invokevirtual org.apache.cassandra.db.DeletionTime.deletes:(Lorg/apache/cassandra/db/rows/Cell;)Z
            ifeq 15
            aload 3 /* deletion */
            invokevirtual org.apache.cassandra.db.DeletionTime.markedForDeleteAt:()J
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 4 /* before */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
      StackMap locals:
      StackMap stack: long
        16: lreturn
        end local 4 // org.apache.cassandra.db.rows.Cell before
        end local 3 // org.apache.cassandra.db.DeletionTime deletion
        end local 2 // org.apache.cassandra.db.rows.Row mergedBaseRow
        end local 1 // org.apache.cassandra.db.rows.Row existingBaseRow
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   17     1  existingBaseRow  Lorg/apache/cassandra/db/rows/Row;
            0   17     2    mergedBaseRow  Lorg/apache/cassandra/db/rows/Row;
            1   17     3         deletion  Lorg/apache/cassandra/db/DeletionTime;
            3   12     4        timestamp  J
            7   10     6             cell  Lorg/apache/cassandra/db/rows/Cell;
           13   17     4           before  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
                 Name  Flags
      existingBaseRow  
      mergedBaseRow    

  private void addColumnData(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.db.rows.ColumnData);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/ColumnData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.config.ColumnDefinition viewColumn
        start local 2 // org.apache.cassandra.db.rows.ColumnData baseTableData
         0: .line 536
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            aload 2 /* baseTableData */
            invokevirtual org.apache.cassandra.db.rows.ColumnData.column:()Lorg/apache/cassandra/config/ColumnDefinition;
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 537
      StackMap locals:
      StackMap stack:
            aload 1 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            ifne 4
         2: .line 539
            aload 0 /* this */
            aload 1 /* viewColumn */
            aload 2 /* baseTableData */
            checkcast org.apache.cassandra.db.rows.Cell
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addCell:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Cell;)V
         3: .line 540
            return
         4: .line 543
      StackMap locals:
      StackMap stack:
            aload 2 /* baseTableData */
            checkcast org.apache.cassandra.db.rows.ComplexColumnData
            astore 3 /* complexData */
        start local 3 // org.apache.cassandra.db.rows.ComplexColumnData complexData
         5: .line 544
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 1 /* viewColumn */
            aload 3 /* complexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.complexDeletion:()Lorg/apache/cassandra/db/DeletionTime;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addComplexDeletion:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/DeletionTime;)V
         6: .line 545
            aload 3 /* complexData */
            invokevirtual org.apache.cassandra.db.rows.ComplexColumnData.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.apache.cassandra.db.view.ViewUpdateGenerator org.apache.cassandra.config.ColumnDefinition org.apache.cassandra.db.rows.ColumnData org.apache.cassandra.db.rows.ComplexColumnData top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.rows.Cell
            astore 4 /* cell */
        start local 4 // org.apache.cassandra.db.rows.Cell cell
         8: .line 546
            aload 0 /* this */
            aload 1 /* viewColumn */
            aload 4 /* cell */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.addCell:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Cell;)V
        end local 4 // org.apache.cassandra.db.rows.Cell cell
         9: .line 545
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 547
            return
        end local 3 // org.apache.cassandra.db.rows.ComplexColumnData complexData
        end local 2 // org.apache.cassandra.db.rows.ColumnData baseTableData
        end local 1 // org.apache.cassandra.config.ColumnDefinition viewColumn
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0   11     1     viewColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            0   11     2  baseTableData  Lorg/apache/cassandra/db/rows/ColumnData;
            5   11     3    complexData  Lorg/apache/cassandra/db/rows/ComplexColumnData;
            8    9     4           cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
               Name  Flags
      viewColumn     
      baseTableData  

  private void addCell(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.db.rows.Cell);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Cell;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.config.ColumnDefinition viewColumn
        start local 2 // org.apache.cassandra.db.rows.Cell baseTableCell
         0: .line 551
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* viewColumn */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            aload 2 /* baseTableCell */
            aload 1 /* viewColumn */
            invokevirtual org.apache.cassandra.db.rows.Cell.withUpdatedColumn:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.addCell:(Lorg/apache/cassandra/db/rows/Cell;)V
         2: .line 553
            return
        end local 2 // org.apache.cassandra.db.rows.Cell baseTableCell
        end local 1 // org.apache.cassandra.config.ColumnDefinition viewColumn
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0    3     1     viewColumn  Lorg/apache/cassandra/config/ColumnDefinition;
            0    3     2  baseTableCell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
               Name  Flags
      viewColumn     
      baseTableCell  

  private void submitUpdate();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
         0: .line 561
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryBuilder:Lorg/apache/cassandra/db/rows/Row$Builder;
            invokeinterface org.apache.cassandra.db.rows.Row$Builder.build:()Lorg/apache/cassandra/db/rows/Row;
            astore 1 /* row */
        start local 1 // org.apache.cassandra.db.rows.Row row
         1: .line 564
            aload 1 /* row */
            invokeinterface org.apache.cassandra.db.rows.Row.isEmpty:()Z
            ifeq 3
         2: .line 565
            return
         3: .line 567
      StackMap locals: org.apache.cassandra.db.rows.Row
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator.makeCurrentPartitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            astore 2 /* partitionKey */
        start local 2 // org.apache.cassandra.db.DecoratedKey partitionKey
         4: .line 568
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.updates:Ljava/util/Map;
            aload 2 /* partitionKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.partitions.PartitionUpdate
            astore 3 /* update */
        start local 3 // org.apache.cassandra.db.partitions.PartitionUpdate update
         5: .line 569
            aload 3 /* update */
            ifnonnull 8
         6: .line 573
            new org.apache.cassandra.db.partitions.PartitionUpdate
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 2 /* partitionKey */
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionColumns:()Lorg/apache/cassandra/db/PartitionColumns;
            iconst_4
            invokespecial org.apache.cassandra.db.partitions.PartitionUpdate.<init>:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;I)V
            astore 3 /* update */
         7: .line 574
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.updates:Ljava/util/Map;
            aload 2 /* partitionKey */
            aload 3 /* update */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 576
      StackMap locals: org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.partitions.PartitionUpdate
      StackMap stack:
            aload 3 /* update */
            aload 1 /* row */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.add:(Lorg/apache/cassandra/db/rows/Row;)V
         9: .line 577
            return
        end local 3 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 2 // org.apache.cassandra.db.DecoratedKey partitionKey
        end local 1 // org.apache.cassandra.db.rows.Row row
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            1   10     1           row  Lorg/apache/cassandra/db/rows/Row;
            4   10     2  partitionKey  Lorg/apache/cassandra/db/DecoratedKey;
            5   10     3        update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;

  private org.apache.cassandra.db.DecoratedKey makeCurrentPartitionKey();
    descriptor: ()Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
         0: .line 581
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 2
         1: .line 582
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryPartitionKey:[Ljava/nio/ByteBuffer;
            iconst_0
            aaload
            goto 3
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.currentViewEntryPartitionKey:[Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.db.marshal.CompositeType.build:([Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
         3: .line 581
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
            astore 1 /* rawKey */
        start local 1 // java.nio.ByteBuffer rawKey
         4: .line 585
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.viewMetadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 1 /* rawKey */
            invokevirtual org.apache.cassandra.config.CFMetaData.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
            areturn
        end local 1 // java.nio.ByteBuffer rawKey
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            4    5     1  rawKey  Ljava/nio/ByteBuffer;

  private java.nio.ByteBuffer getValueForPK(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/db/rows/Row;)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
        start local 2 // org.apache.cassandra.db.rows.Row row
         0: .line 590
            invokestatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:()[I
            aload 1 /* column */
            getfield org.apache.cassandra.config.ColumnDefinition.kind:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.view.ViewUpdateGenerator.basePartitionKey:[Ljava/nio/ByteBuffer;
            aload 1 /* column */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            aaload
            areturn
         2: .line 595
      StackMap locals:
      StackMap stack:
            aload 2 /* row */
            invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
            aload 1 /* column */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.position:()I
            invokeinterface org.apache.cassandra.db.Clustering.get:(I)Ljava/nio/ByteBuffer;
            areturn
         3: .line 598
      StackMap locals:
      StackMap stack:
            aload 2 /* row */
            aload 1 /* column */
            invokeinterface org.apache.cassandra.db.rows.Row.getCell:(Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/rows/Cell;
            invokevirtual org.apache.cassandra.db.rows.Cell.value:()Ljava/nio/ByteBuffer;
            areturn
        end local 2 // org.apache.cassandra.db.rows.Row row
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
        end local 0 // org.apache.cassandra.db.view.ViewUpdateGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/cassandra/db/view/ViewUpdateGenerator;
            0    4     1  column  Lorg/apache/cassandra/config/ColumnDefinition;
            0    4     2     row  Lorg/apache/cassandra/db/rows/Row;
    MethodParameters:
        Name  Flags
      column  
      row     

  static int[] $SWITCH_TABLE$org$apache$cassandra$db$view$ViewUpdateGenerator$UpdateAction();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$db$view$ViewUpdateGenerator$UpdateAction:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.values:()[Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.DELETE_OLD:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.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.view.ViewUpdateGenerator$UpdateAction.NEW_ENTRY:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.NONE:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.SWITCH_ENTRY:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.UPDATE_EXISTING:Lorg/apache/cassandra/db/view/ViewUpdateGenerator$UpdateAction;
            invokevirtual org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$db$view$ViewUpdateGenerator$UpdateAction:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.config.ColumnDefinition$Kind.values:()[Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.CLUSTERING:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.PARTITION_KEY:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.REGULAR:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.STATIC:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.apache.cassandra.db.view.ViewUpdateGenerator.$SWITCH_TABLE$org$apache$cassandra$config$ColumnDefinition$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "ViewUpdateGenerator.java"
NestMembers:
  org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction
InnerClasses:
  public final Kind = org.apache.cassandra.config.ColumnDefinition$Kind of org.apache.cassandra.config.ColumnDefinition
  public abstract Builder = org.apache.cassandra.db.rows.Row$Builder of org.apache.cassandra.db.rows.Row
  public Deletion = org.apache.cassandra.db.rows.Row$Deletion of org.apache.cassandra.db.rows.Row
  private final UpdateAction = org.apache.cassandra.db.view.ViewUpdateGenerator$UpdateAction of org.apache.cassandra.db.view.ViewUpdateGenerator