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

  private final java.util.Collection<org.apache.cassandra.notifications.INotificationConsumer> subscribers;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/apache/cassandra/notifications/INotificationConsumer;>;

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

  final java.util.concurrent.atomic.AtomicReference<org.apache.cassandra.db.lifecycle.View> view;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/apache/cassandra/db/lifecycle/View;>;

  public final boolean loadsstables;
    descriptor: Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

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

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

  public void <init>(org.apache.cassandra.db.Memtable, boolean);
    descriptor: (Lorg/apache/cassandra/db/Memtable;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable memtable
        start local 2 // boolean loadsstables
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
         2: .line 81
            aload 0 /* this */
            aload 1 /* memtable */
            ifnull 3
            aload 1 /* memtable */
            getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            goto 4
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.db.Memtable int
      StackMap stack: org.apache.cassandra.db.lifecycle.Tracker
         3: aconst_null
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.db.Memtable int
      StackMap stack: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.db.ColumnFamilyStore
         4: putfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
         5: .line 82
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
         6: .line 83
            aload 0 /* this */
            iload 2 /* loadsstables */
            putfield org.apache.cassandra.db.lifecycle.Tracker.loadsstables:Z
         7: .line 84
            aload 0 /* this */
            aload 1 /* memtable */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.reset:(Lorg/apache/cassandra/db/Memtable;)V
         8: .line 85
            return
        end local 2 // boolean loadsstables
        end local 1 // org.apache.cassandra.db.Memtable memtable
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    9     1      memtable  Lorg/apache/cassandra/db/Memtable;
            0    9     2  loadsstables  Z
    MethodParameters:
              Name  Flags
      memtable      
      loadsstables  

  public org.apache.cassandra.db.lifecycle.LifecycleTransaction tryModify(org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.db.compaction.OperationType);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 2 // org.apache.cassandra.db.compaction.OperationType operationType
         0: .line 89
            aload 0 /* this */
            aload 1 /* sstable */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            aload 2 /* operationType */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.tryModify:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            areturn
        end local 2 // org.apache.cassandra.db.compaction.OperationType operationType
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    1     1        sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0    1     2  operationType  Lorg/apache/cassandra/db/compaction/OperationType;
    MethodParameters:
               Name  Flags
      sstable        
      operationType  

  public org.apache.cassandra.db.lifecycle.LifecycleTransaction tryModify(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.compaction.OperationType);
    descriptor: (Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable sstables
        start local 2 // org.apache.cassandra.db.compaction.OperationType operationType
         0: .line 97
            aload 1 /* sstables */
            invokestatic com.google.common.collect.Iterables.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 2
         1: .line 98
            new org.apache.cassandra.db.lifecycle.LifecycleTransaction
            dup
            aload 0 /* this */
            aload 2 /* operationType */
            aload 1 /* sstables */
            invokespecial org.apache.cassandra.db.lifecycle.LifecycleTransaction.<init>:(Lorg/apache/cassandra/db/lifecycle/Tracker;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Iterable;)V
            areturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sstables */
            invokestatic org.apache.cassandra.db.lifecycle.View.permitCompacting:(Ljava/lang/Iterable;)Lcom/google/common/base/Predicate;
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            aload 1 /* sstables */
            invokestatic org.apache.cassandra.db.lifecycle.View.updateCompacting:(Ljava/util/Set;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Predicate;Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            ifnonnull 4
         3: .line 100
            aconst_null
            areturn
         4: .line 101
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.lifecycle.LifecycleTransaction
            dup
            aload 0 /* this */
            aload 2 /* operationType */
            aload 1 /* sstables */
            invokespecial org.apache.cassandra.db.lifecycle.LifecycleTransaction.<init>:(Lorg/apache/cassandra/db/lifecycle/Tracker;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Iterable;)V
            areturn
        end local 2 // org.apache.cassandra.db.compaction.OperationType operationType
        end local 1 // java.lang.Iterable sstables
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    5     1       sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    5     2  operationType  Lorg/apache/cassandra/db/compaction/OperationType;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
    MethodParameters:
               Name  Flags
      sstables       
      operationType  

  org.apache.cassandra.utils.Pair<org.apache.cassandra.db.lifecycle.View, org.apache.cassandra.db.lifecycle.View> apply(com.google.common.base.Function<org.apache.cassandra.db.lifecycle.View, org.apache.cassandra.db.lifecycle.View>);
    descriptor: (Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // com.google.common.base.Function function
         0: .line 109
            aload 0 /* this */
            invokestatic com.google.common.base.Predicates.alwaysTrue:()Lcom/google/common/base/Predicate;
            aload 1 /* function */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Predicate;Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            areturn
        end local 1 // com.google.common.base.Function function
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    1     1  function  Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
    Signature: (Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
    MethodParameters:
          Name  Flags
      function  

  java.lang.Throwable apply(com.google.common.base.Function<org.apache.cassandra.db.lifecycle.View, org.apache.cassandra.db.lifecycle.View>, java.lang.Throwable);
    descriptor: (Lcom/google/common/base/Function;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // com.google.common.base.Function function
        start local 2 // java.lang.Throwable accumulate
         0: .line 116
            aload 0 /* this */
            aload 1 /* function */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         1: .line 117
            goto 4
         2: .line 118
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         3: .line 120
            aload 2 /* accumulate */
            aload 3 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* accumulate */
        end local 3 // java.lang.Throwable t
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 2 /* accumulate */
            areturn
        end local 2 // java.lang.Throwable accumulate
        end local 1 // com.google.common.base.Function function
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    5     1    function  Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
            0    5     2  accumulate  Ljava/lang/Throwable;
            3    4     3           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      function    
      accumulate  

  org.apache.cassandra.utils.Pair<org.apache.cassandra.db.lifecycle.View, org.apache.cassandra.db.lifecycle.View> apply(com.google.common.base.Predicate<org.apache.cassandra.db.lifecycle.View>, com.google.common.base.Function<org.apache.cassandra.db.lifecycle.View, org.apache.cassandra.db.lifecycle.View>);
    descriptor: (Lcom/google/common/base/Predicate;Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // com.google.common.base.Predicate permit
        start local 2 // com.google.common.base.Function function
         0: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            astore 3 /* cur */
        start local 3 // org.apache.cassandra.db.lifecycle.View cur
         1: .line 134
            aload 1 /* permit */
            aload 3 /* cur */
            invokeinterface com.google.common.base.Predicate.apply:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 135
            aconst_null
            areturn
         3: .line 136
      StackMap locals: org.apache.cassandra.db.lifecycle.View
      StackMap stack:
            aload 2 /* function */
            aload 3 /* cur */
            invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            astore 4 /* updated */
        start local 4 // org.apache.cassandra.db.lifecycle.View updated
         4: .line 137
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            aload 3 /* cur */
            aload 4 /* updated */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 0
         5: .line 138
            aload 3 /* cur */
            aload 4 /* updated */
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            areturn
        end local 4 // org.apache.cassandra.db.lifecycle.View updated
        end local 3 // org.apache.cassandra.db.lifecycle.View cur
        end local 2 // com.google.common.base.Function function
        end local 1 // com.google.common.base.Predicate permit
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    6     1    permit  Lcom/google/common/base/Predicate<Lorg/apache/cassandra/db/lifecycle/View;>;
            0    6     2  function  Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
            1    6     3       cur  Lorg/apache/cassandra/db/lifecycle/View;
            4    6     4   updated  Lorg/apache/cassandra/db/lifecycle/View;
    Signature: (Lcom/google/common/base/Predicate<Lorg/apache/cassandra/db/lifecycle/View;>;Lcom/google/common/base/Function<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
    MethodParameters:
          Name  Flags
      permit    
      function  

  java.lang.Throwable updateSizeTracking(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.lang.Throwable);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable oldSSTables
        start local 2 // java.lang.Iterable newSSTables
        start local 3 // java.lang.Throwable accumulate
         0: .line 144
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.isDummy:()Z
            ifeq 2
         1: .line 145
            aload 3 /* accumulate */
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 4 /* add */
        start local 4 // long add
         3: .line 148
            aload 2 /* newSSTables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 6 /* sstable */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         5: .line 150
            getstatic org.apache.cassandra.db.lifecycle.Tracker.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 7
         6: .line 151
            getstatic org.apache.cassandra.db.lifecycle.Tracker.logger:Lorg/slf4j/Logger;
            ldc "adding {} to list of files tracked for {}.{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 154
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            lload 4 /* add */
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.bytesOnDisk:()J
            ladd
            lstore 4 /* add */
         8: .line 155
            goto 11
         9: .line 156
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        10: .line 158
            aload 3 /* accumulate */
            aload 8 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        end local 8 // java.lang.Throwable t
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        11: .line 148
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 161
            lconst_0
            lstore 6 /* subtract */
        start local 6 // long subtract
        13: .line 162
            aload 1 /* oldSSTables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 21
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long long top java.util.Iterator
      StackMap stack:
        14: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 8 /* sstable */
        start local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        15: .line 164
            getstatic org.apache.cassandra.db.lifecycle.Tracker.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 17
        16: .line 165
            getstatic org.apache.cassandra.db.lifecycle.Tracker.logger:Lorg/slf4j/Logger;
            ldc "removing {} from list of files tracked for {}.{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 168
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long long org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            lload 6 /* subtract */
            aload 8 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.bytesOnDisk:()J
            ladd
            lstore 6 /* subtract */
        18: .line 169
            goto 21
        19: .line 170
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        20: .line 172
            aload 3 /* accumulate */
            aload 10 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        end local 10 // java.lang.Throwable t
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        21: .line 162
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Iterable java.lang.Throwable long long top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        22: .line 176
            getstatic org.apache.cassandra.metrics.StorageMetrics.load:Lcom/codahale/metrics/Counter;
            lload 4 /* add */
            lload 6 /* subtract */
            lsub
            invokevirtual com.codahale.metrics.Counter.inc:(J)V
        23: .line 177
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
            getfield org.apache.cassandra.metrics.TableMetrics.liveDiskSpaceUsed:Lcom/codahale/metrics/Counter;
            lload 4 /* add */
            lload 6 /* subtract */
            lsub
            invokevirtual com.codahale.metrics.Counter.inc:(J)V
        24: .line 180
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
            getfield org.apache.cassandra.metrics.TableMetrics.totalDiskSpaceUsed:Lcom/codahale/metrics/Counter;
            lload 4 /* add */
            invokevirtual com.codahale.metrics.Counter.inc:(J)V
        25: .line 181
            aload 3 /* accumulate */
            areturn
        end local 6 // long subtract
        end local 4 // long add
        end local 3 // java.lang.Throwable accumulate
        end local 2 // java.lang.Iterable newSSTables
        end local 1 // java.lang.Iterable oldSSTables
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0   26     1  oldSSTables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   26     2  newSSTables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   26     3   accumulate  Ljava/lang/Throwable;
            3   26     4          add  J
            5   11     6      sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           10   11     8            t  Ljava/lang/Throwable;
           13   26     6     subtract  J
           15   21     8      sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           20   21    10            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Throwable
          17    18      19  Class java.lang.Throwable
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    MethodParameters:
             Name  Flags
      oldSSTables  
      newSSTables  
      accumulate   

  public void addInitialSSTables(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable sstables
         0: .line 188
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.isDummy:()Z
            ifne 2
         1: .line 189
            aload 1 /* sstables */
            invokestatic org.apache.cassandra.db.lifecycle.Helpers.setupOnline:(Ljava/lang/Iterable;)V
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            aload 1 /* sstables */
            invokestatic org.apache.cassandra.db.lifecycle.View.updateLiveSet:(Ljava/util/Set;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         3: .line 191
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            aload 1 /* sstables */
            aconst_null
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.updateSizeTracking:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
         4: .line 193
            return
        end local 1 // java.lang.Iterable sstables
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    5     1  sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
          Name  Flags
      sstables  

  public void addSSTables(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable sstables
         0: .line 197
            aload 0 /* this */
            aload 1 /* sstables */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.addInitialSSTables:(Ljava/lang/Iterable;)V
         1: .line 198
            aload 0 /* this */
            aload 1 /* sstables */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.maybeIncrementallyBackup:(Ljava/lang/Iterable;)V
         2: .line 199
            aload 0 /* this */
            aload 1 /* sstables */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyAdded:(Ljava/lang/Iterable;)V
         3: .line 200
            return
        end local 1 // java.lang.Iterable sstables
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    4     1  sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
          Name  Flags
      sstables  

  public void reset(org.apache.cassandra.db.Memtable);
    descriptor: (Lorg/apache/cassandra/db/Memtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable memtable
         0: .line 206
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
         1: new org.apache.cassandra.db.lifecycle.View
            dup
            aload 1 /* memtable */
            ifnull 2
            aload 1 /* memtable */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            goto 3
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.db.Memtable
      StackMap stack: java.util.concurrent.atomic.AtomicReference new 1 new 1
         2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         3: .line 207
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.db.Memtable
      StackMap stack: java.util.concurrent.atomic.AtomicReference new 1 new 1 java.util.List
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         4: .line 208
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
         5: .line 209
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
         6: .line 210
            invokestatic org.apache.cassandra.db.lifecycle.SSTableIntervalTree.empty:()Lorg/apache/cassandra/db/lifecycle/SSTableIntervalTree;
            invokespecial org.apache.cassandra.db.lifecycle.View.<init>:(Ljava/util/List;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;Lorg/apache/cassandra/db/lifecycle/SSTableIntervalTree;)V
         7: .line 206
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         8: .line 211
            return
        end local 1 // org.apache.cassandra.db.Memtable memtable
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    9     1  memtable  Lorg/apache/cassandra/db/Memtable;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    MethodParameters:
          Name  Flags
      memtable  

  public java.lang.Throwable dropSSTablesIfInvalid(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Throwable accumulate
         0: .line 215
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.isDummy:()Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isValid:()Z
            ifne 2
         1: .line 216
            aload 0 /* this */
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.dropSSTables:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* accumulate */
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 1 /* accumulate */
            areturn
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    3     1  accumulate  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      accumulate  

  public void dropSSTables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
         0: .line 222
            aload 0 /* this */
            aconst_null
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.dropSSTables:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
         1: .line 223
            return
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/lifecycle/Tracker;

  public java.lang.Throwable dropSSTables(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Throwable accumulate
         0: .line 227
            aload 0 /* this */
            invokestatic com.google.common.base.Predicates.alwaysTrue:()Lcom/google/common/base/Predicate;
            getstatic org.apache.cassandra.db.compaction.OperationType.UNKNOWN:Lorg/apache/cassandra/db/compaction/OperationType;
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.dropSSTables:(Lcom/google/common/base/Predicate;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            areturn
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    1     1  accumulate  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      accumulate  

  public java.lang.Throwable dropSSTables(com.google.common.base.Predicate<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.compaction.OperationType, java.lang.Throwable);
    descriptor: (Lcom/google/common/base/Predicate;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // com.google.common.base.Predicate remove
        start local 2 // org.apache.cassandra.db.compaction.OperationType operationType
        start local 3 // java.lang.Throwable accumulate
         0: .line 235
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: new org.apache.cassandra.db.lifecycle.LogTransaction
            dup
            aload 2 /* operationType */
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.lifecycle.LogTransaction.<init>:(Lorg/apache/cassandra/db/compaction/OperationType;Lorg/apache/cassandra/db/lifecycle/Tracker;)V
            astore 6 /* txnLogs */
        start local 6 // org.apache.cassandra.db.lifecycle.LogTransaction txnLogs
         2: .line 237
            aload 0 /* this */
            aload 1 /* remove */
            invokedynamic apply(Lcom/google/common/base/Predicate;)Lcom/google/common/base/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/db/lifecycle/Tracker.lambda$0(Lcom/google/common/base/Predicate;Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View; (6)
                  (Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            astore 7 /* result */
        start local 7 // org.apache.cassandra.utils.Pair result
         3: .line 242
            aload 7 /* result */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getfield org.apache.cassandra.db.lifecycle.View.sstables:Ljava/util/Set;
            aload 7 /* result */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getfield org.apache.cassandra.db.lifecycle.View.sstables:Ljava/util/Set;
            invokestatic com.google.common.collect.Sets.difference:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
            astore 8 /* removed */
        start local 8 // java.util.Set removed
         4: .line 243
            getstatic org.apache.cassandra.db.lifecycle.Tracker.$assertionsDisabled:Z
            ifne 5
            aload 8 /* removed */
            aload 1 /* remove */
            invokestatic com.google.common.collect.Iterables.all:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 247
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker com.google.common.base.Predicate org.apache.cassandra.db.compaction.OperationType java.lang.Throwable java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LogTransaction org.apache.cassandra.utils.Pair java.util.Set
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* obsoletions */
        start local 9 // java.util.List obsoletions
         6: .line 248
            aload 8 /* removed */
            aload 6 /* txnLogs */
            aload 9 /* obsoletions */
            aload 3 /* accumulate */
            invokestatic org.apache.cassandra.db.lifecycle.Helpers.prepareForObsoletion:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/lifecycle/LogTransaction;Ljava/util/List;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
         7: .line 251
            aload 6 /* txnLogs */
            invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.finish:()Ljava/lang/Object;
            pop
         8: .line 252
            aload 8 /* removed */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 17
         9: .line 254
            aload 9 /* obsoletions */
            aload 3 /* accumulate */
            invokestatic org.apache.cassandra.db.lifecycle.Helpers.markObsolete:(Ljava/util/List;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        10: .line 255
            aload 0 /* this */
            aload 8 /* removed */
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            aload 3 /* accumulate */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.updateSizeTracking:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        11: .line 256
            aload 8 /* removed */
            invokestatic org.apache.cassandra.utils.concurrent.Refs.selfRefs:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            aload 3 /* accumulate */
            invokestatic org.apache.cassandra.utils.concurrent.Refs.release:(Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        12: .line 258
            aload 0 /* this */
            aload 8 /* removed */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            aload 6 /* txnLogs */
            invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.type:()Lorg/apache/cassandra/db/compaction/OperationType;
            aload 3 /* accumulate */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifySSTablesChanged:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        13: .line 260
            goto 17
        14: .line 261
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker com.google.common.base.Predicate org.apache.cassandra.db.compaction.OperationType java.lang.Throwable java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LogTransaction org.apache.cassandra.utils.Pair java.util.Set java.util.List
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        15: .line 263
            aload 9 /* obsoletions */
            aload 3 /* accumulate */
            invokestatic org.apache.cassandra.db.lifecycle.Helpers.abortObsoletion:(Ljava/util/List;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        16: .line 264
            aload 3 /* accumulate */
            aload 10 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        end local 10 // java.lang.Throwable t
        end local 9 // java.util.List obsoletions
        end local 8 // java.util.Set removed
        end local 7 // org.apache.cassandra.utils.Pair result
        17: .line 266
      StackMap locals:
      StackMap stack:
            aload 6 /* txnLogs */
            ifnull 25
            aload 6 /* txnLogs */
            invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.close:()V
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 4
            aload 6 /* txnLogs */
            ifnull 19
            aload 6 /* txnLogs */
            invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.close:()V
        end local 6 // org.apache.cassandra.db.lifecycle.LogTransaction txnLogs
      StackMap locals:
      StackMap stack:
        19: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 5
            aload 4
            ifnonnull 21
            aload 5
            astore 4
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 4
            aload 5
            if_acmpeq 22
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 4
            athrow
        23: .line 267
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker com.google.common.base.Predicate org.apache.cassandra.db.compaction.OperationType java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
        24: .line 269
            aload 3 /* accumulate */
            aload 4 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* accumulate */
        end local 4 // java.lang.Throwable t
        25: .line 272
      StackMap locals:
      StackMap stack:
            aload 3 /* accumulate */
            areturn
        end local 3 // java.lang.Throwable accumulate
        end local 2 // org.apache.cassandra.db.compaction.OperationType operationType
        end local 1 // com.google.common.base.Predicate remove
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0   26     1         remove  Lcom/google/common/base/Predicate<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   26     2  operationType  Lorg/apache/cassandra/db/compaction/OperationType;
            0   26     3     accumulate  Ljava/lang/Throwable;
            2   19     6        txnLogs  Lorg/apache/cassandra/db/lifecycle/LogTransaction;
            3   17     7         result  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
            4   17     8        removed  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            6   17     9    obsoletions  Ljava/util/List<Lorg/apache/cassandra/db/lifecycle/LogTransaction$Obsoletion;>;
           15   17    10              t  Ljava/lang/Throwable;
           24   25     4              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    13      14  Class java.lang.Throwable
           2    17      18  any
           1    20      20  any
           0    23      23  Class java.lang.Throwable
    Signature: (Lcom/google/common/base/Predicate<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    MethodParameters:
               Name  Flags
      remove         final
      operationType  
      accumulate     

  public void removeUnreadableSSTables(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.io.File directory
         0: .line 282
            aload 0 /* this */
            new org.apache.cassandra.db.lifecycle.Tracker$1
            dup
            aload 0 /* this */
            aload 1 /* directory */
            invokespecial org.apache.cassandra.db.lifecycle.Tracker$1.<init>:(Lorg/apache/cassandra/db/lifecycle/Tracker;Ljava/io/File;)V
         1: .line 288
            getstatic org.apache.cassandra.db.compaction.OperationType.UNKNOWN:Lorg/apache/cassandra/db/compaction/OperationType;
            aconst_null
         2: .line 282
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.dropSSTables:(Lcom/google/common/base/Predicate;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
         3: .line 289
            return
        end local 1 // java.io.File directory
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    4     1  directory  Ljava/io/File;
    MethodParameters:
           Name  Flags
      directory  final

  public org.apache.cassandra.db.Memtable getMemtableFor(org.apache.cassandra.utils.concurrent.OpOrder$Group, org.apache.cassandra.db.commitlog.CommitLogPosition);
    descriptor: (Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Lorg/apache/cassandra/db/Memtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        start local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogPosition
         0: .line 307
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getfield org.apache.cassandra.db.lifecycle.View.liveMemtables:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.db.commitlog.CommitLogPosition top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Memtable
            astore 3 /* memtable */
        start local 3 // org.apache.cassandra.db.Memtable memtable
         2: .line 309
            aload 3 /* memtable */
            aload 1 /* opGroup */
            aload 2 /* commitLogPosition */
            invokevirtual org.apache.cassandra.db.Memtable.accepts:(Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Z
            ifeq 4
         3: .line 310
            aload 3 /* memtable */
            areturn
        end local 3 // org.apache.cassandra.db.Memtable memtable
         4: .line 307
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 312
            new java.lang.AssertionError
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getfield org.apache.cassandra.db.lifecycle.View.liveMemtables:Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogPosition
        end local 1 // org.apache.cassandra.utils.concurrent.OpOrder$Group opGroup
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    6     1            opGroup  Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
            0    6     2  commitLogPosition  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            2    4     3           memtable  Lorg/apache/cassandra/db/Memtable;
    MethodParameters:
                   Name  Flags
      opGroup            
      commitLogPosition  

  public org.apache.cassandra.db.Memtable switchMemtable(boolean, org.apache.cassandra.db.Memtable);
    descriptor: (ZLorg/apache/cassandra/db/Memtable;)Lorg/apache/cassandra/db/Memtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // boolean truncating
        start local 2 // org.apache.cassandra.db.Memtable newMemtable
         0: .line 325
            aload 0 /* this */
            aload 2 /* newMemtable */
            invokestatic org.apache.cassandra.db.lifecycle.View.switchMemtable:(Lorg/apache/cassandra/db/Memtable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            astore 3 /* result */
        start local 3 // org.apache.cassandra.utils.Pair result
         1: .line 326
            iload 1 /* truncating */
            ifeq 3
         2: .line 327
            aload 0 /* this */
            aload 2 /* newMemtable */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyRenewed:(Lorg/apache/cassandra/db/Memtable;)V
            goto 4
         3: .line 329
      StackMap locals: org.apache.cassandra.utils.Pair
      StackMap stack:
            aload 0 /* this */
            aload 3 /* result */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifySwitched:(Lorg/apache/cassandra/db/Memtable;)V
         4: .line 331
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
            areturn
        end local 3 // org.apache.cassandra.utils.Pair result
        end local 2 // org.apache.cassandra.db.Memtable newMemtable
        end local 1 // boolean truncating
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    5     1   truncating  Z
            0    5     2  newMemtable  Lorg/apache/cassandra/db/Memtable;
            1    5     3       result  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/db/lifecycle/View;Lorg/apache/cassandra/db/lifecycle/View;>;
    MethodParameters:
             Name  Flags
      truncating   
      newMemtable  

  public void markFlushing(org.apache.cassandra.db.Memtable);
    descriptor: (Lorg/apache/cassandra/db/Memtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable memtable
         0: .line 336
            aload 0 /* this */
            aload 1 /* memtable */
            invokestatic org.apache.cassandra.db.lifecycle.View.markFlushing:(Lorg/apache/cassandra/db/Memtable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         1: .line 337
            return
        end local 1 // org.apache.cassandra.db.Memtable memtable
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  memtable  Lorg/apache/cassandra/db/Memtable;
    MethodParameters:
          Name  Flags
      memtable  

  public void replaceFlushed(org.apache.cassandra.db.Memtable, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Lorg/apache/cassandra/db/Memtable;Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable memtable
        start local 2 // java.lang.Iterable sstables
         0: .line 341
            getstatic org.apache.cassandra.db.lifecycle.Tracker.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.isDummy:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* sstables */
            invokestatic com.google.common.collect.Iterables.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 4
         2: .line 346
            aload 0 /* this */
            aload 1 /* memtable */
            aconst_null
            invokestatic org.apache.cassandra.db.lifecycle.View.replaceFlushed:(Lorg/apache/cassandra/db/Memtable;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         3: .line 347
            return
         4: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* sstables */
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/io/sstable/format/SSTableReader.setupOnline()V (5)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
            invokeinterface java.lang.Iterable.forEach:(Ljava/util/function/Consumer;)V
         5: .line 352
            aload 0 /* this */
            aload 2 /* sstables */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.maybeIncrementallyBackup:(Ljava/lang/Iterable;)V
         6: .line 354
            aload 0 /* this */
            aload 1 /* memtable */
            aload 2 /* sstables */
            invokestatic org.apache.cassandra.db.lifecycle.View.replaceFlushed:(Lorg/apache/cassandra/db/Memtable;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         7: .line 357
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            aload 2 /* sstables */
            aconst_null
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.updateSizeTracking:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* fail */
        start local 3 // java.lang.Throwable fail
         8: .line 359
            aload 0 /* this */
            aload 1 /* memtable */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyDiscarded:(Lorg/apache/cassandra/db/Memtable;)V
         9: .line 362
            aload 0 /* this */
            aload 2 /* sstables */
            aload 3 /* fail */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyAdded:(Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3 /* fail */
        10: .line 364
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.isDummy:()Z
            ifne 12
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isValid:()Z
            ifne 12
        11: .line 365
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.dropSSTables:()V
        12: .line 367
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* fail */
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
        13: .line 368
            return
        end local 3 // java.lang.Throwable fail
        end local 2 // java.lang.Iterable sstables
        end local 1 // org.apache.cassandra.db.Memtable memtable
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0   14     1  memtable  Lorg/apache/cassandra/db/Memtable;
            0   14     2  sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            8   14     3      fail  Ljava/lang/Throwable;
    Signature: (Lorg/apache/cassandra/db/Memtable;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
          Name  Flags
      memtable  
      sstables  

  public java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> getCompacting();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
         0: .line 376
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getfield org.apache.cassandra.db.lifecycle.View.compacting:Ljava/util/Set;
            areturn
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/lifecycle/Tracker;
    Signature: ()Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  public java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader> getUncompacting();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
         0: .line 381
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.NONCOMPACTING:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokevirtual org.apache.cassandra.db.lifecycle.View.select:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Ljava/lang/Iterable;
            areturn
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/lifecycle/Tracker;
    Signature: ()Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  public java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader> getUncompacting(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable candidates
         0: .line 386
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            aload 1 /* candidates */
            invokevirtual org.apache.cassandra.db.lifecycle.View.getUncompacting:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 1 // java.lang.Iterable candidates
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    1     1  candidates  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
            Name  Flags
      candidates  

  public void maybeIncrementallyBackup(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable sstables
         0: .line 391
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.isIncrementalBackupsEnabled:()Z
            ifne 2
         1: .line 392
            return
         2: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* sstables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 2 /* sstable */
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 396
            aload 2 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            invokestatic org.apache.cassandra.db.Directories.getBackupsDirectory:(Lorg/apache/cassandra/io/sstable/Descriptor;)Ljava/io/File;
            astore 4 /* backupsDir */
        start local 4 // java.io.File backupsDir
         5: .line 397
            aload 2 /* sstable */
            aload 4 /* backupsDir */
            invokestatic org.apache.cassandra.io.util.FileUtils.getCanonicalPath:(Ljava/io/File;)Ljava/lang/String;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.createLinks:(Ljava/lang/String;)V
        end local 4 // java.io.File backupsDir
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         6: .line 394
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 399
            return
        end local 1 // java.lang.Iterable sstables
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    8     1    sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            4    6     2     sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            5    6     4  backupsDir  Ljava/io/File;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
          Name  Flags
      sstables  final

  java.lang.Throwable notifySSTablesChanged(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.compaction.OperationType, java.lang.Throwable);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.util.Collection removed
        start local 2 // java.util.Collection added
        start local 3 // org.apache.cassandra.db.compaction.OperationType compactionType
        start local 4 // java.lang.Throwable accumulate
         0: .line 405
            new org.apache.cassandra.notifications.SSTableListChangedNotification
            dup
            aload 2 /* added */
            aload 1 /* removed */
            aload 3 /* compactionType */
            invokespecial org.apache.cassandra.notifications.SSTableListChangedNotification.<init>:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/compaction/OperationType;)V
            astore 5 /* notification */
        start local 5 // org.apache.cassandra.notifications.INotification notification
         1: .line 406
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 7
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.util.Collection java.util.Collection org.apache.cassandra.db.compaction.OperationType java.lang.Throwable org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         2: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 6 /* subscriber */
        start local 6 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 410
            aload 6 /* subscriber */
            aload 5 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
         4: .line 411
            goto 7
         5: .line 412
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.util.Collection java.util.Collection org.apache.cassandra.db.compaction.OperationType java.lang.Throwable org.apache.cassandra.notifications.INotification org.apache.cassandra.notifications.INotificationConsumer java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
         6: .line 414
            aload 4 /* accumulate */
            aload 8 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 4 /* accumulate */
        end local 8 // java.lang.Throwable t
        end local 6 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         7: .line 406
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.util.Collection java.util.Collection org.apache.cassandra.db.compaction.OperationType java.lang.Throwable org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 417
            aload 4 /* accumulate */
            areturn
        end local 5 // org.apache.cassandra.notifications.INotification notification
        end local 4 // java.lang.Throwable accumulate
        end local 3 // org.apache.cassandra.db.compaction.OperationType compactionType
        end local 2 // java.util.Collection added
        end local 1 // java.util.Collection removed
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    9     1         removed  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    9     2           added  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    9     3  compactionType  Lorg/apache/cassandra/db/compaction/OperationType;
            0    9     4      accumulate  Ljava/lang/Throwable;
            1    9     5    notification  Lorg/apache/cassandra/notifications/INotification;
            3    7     6      subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
            6    7     8               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/compaction/OperationType;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    MethodParameters:
                Name  Flags
      removed         
      added           
      compactionType  
      accumulate      

  java.lang.Throwable notifyAdded(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.lang.Throwable);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable added
        start local 2 // java.lang.Throwable accumulate
         0: .line 422
            new org.apache.cassandra.notifications.SSTableAddedNotification
            dup
            aload 1 /* added */
            invokespecial org.apache.cassandra.notifications.SSTableAddedNotification.<init>:(Ljava/lang/Iterable;)V
            astore 3 /* notification */
        start local 3 // org.apache.cassandra.notifications.INotification notification
         1: .line 423
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Throwable org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 4 /* subscriber */
        start local 4 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 427
            aload 4 /* subscriber */
            aload 3 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
         4: .line 428
            goto 7
         5: .line 429
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Throwable org.apache.cassandra.notifications.INotification org.apache.cassandra.notifications.INotificationConsumer java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
         6: .line 431
            aload 2 /* accumulate */
            aload 6 /* t */
            invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* accumulate */
        end local 6 // java.lang.Throwable t
        end local 4 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         7: .line 423
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.lang.Iterable java.lang.Throwable org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 434
            aload 2 /* accumulate */
            areturn
        end local 3 // org.apache.cassandra.notifications.INotification notification
        end local 2 // java.lang.Throwable accumulate
        end local 1 // java.lang.Iterable added
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    9     1         added  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    9     2    accumulate  Ljava/lang/Throwable;
            1    9     3  notification  Lorg/apache/cassandra/notifications/INotification;
            3    7     4    subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
            6    7     6             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      added       
      accumulate  

  public void notifyAdded(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.lang.Iterable added
         0: .line 439
            aload 0 /* this */
            aload 1 /* added */
            aconst_null
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyAdded:(Ljava/lang/Iterable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
         1: .line 440
            return
        end local 1 // java.lang.Iterable added
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  added  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
       Name  Flags
      added  

  public void notifySSTableRepairedStatusChanged(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.util.Collection repairStatusesChanged
         0: .line 444
            new org.apache.cassandra.notifications.SSTableRepairStatusChanged
            dup
            aload 1 /* repairStatusesChanged */
            invokespecial org.apache.cassandra.notifications.SSTableRepairStatusChanged.<init>:(Ljava/util/Collection;)V
            astore 2 /* notification */
        start local 2 // org.apache.cassandra.notifications.INotification notification
         1: .line 445
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker java.util.Collection org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 3 /* subscriber */
        start local 3 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 446
            aload 3 /* subscriber */
            aload 2 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
        end local 3 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         4: .line 445
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 447
            return
        end local 2 // org.apache.cassandra.notifications.INotification notification
        end local 1 // java.util.Collection repairStatusesChanged
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    6     0                   this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    6     1  repairStatusesChanged  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            1    6     2           notification  Lorg/apache/cassandra/notifications/INotification;
            3    4     3             subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
                       Name  Flags
      repairStatusesChanged  

  public void notifyDeleting(org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader deleting
         0: .line 451
            new org.apache.cassandra.notifications.SSTableDeletingNotification
            dup
            aload 1 /* deleting */
            invokespecial org.apache.cassandra.notifications.SSTableDeletingNotification.<init>:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
            astore 2 /* notification */
        start local 2 // org.apache.cassandra.notifications.INotification notification
         1: .line 452
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 3 /* subscriber */
        start local 3 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 453
            aload 3 /* subscriber */
            aload 2 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
        end local 3 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         4: .line 452
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 454
            return
        end local 2 // org.apache.cassandra.notifications.INotification notification
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader deleting
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    6     1      deleting  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            1    6     2  notification  Lorg/apache/cassandra/notifications/INotification;
            3    4     3    subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
    MethodParameters:
          Name  Flags
      deleting  

  public void notifyTruncated(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // long truncatedAt
         0: .line 458
            new org.apache.cassandra.notifications.TruncationNotification
            dup
            lload 1 /* truncatedAt */
            invokespecial org.apache.cassandra.notifications.TruncationNotification.<init>:(J)V
            astore 3 /* notification */
        start local 3 // org.apache.cassandra.notifications.INotification notification
         1: .line 459
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker long org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 4 /* subscriber */
        start local 4 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 460
            aload 4 /* subscriber */
            aload 3 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
        end local 4 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         4: .line 459
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 461
            return
        end local 3 // org.apache.cassandra.notifications.INotification notification
        end local 1 // long truncatedAt
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    6     1   truncatedAt  J
            1    6     3  notification  Lorg/apache/cassandra/notifications/INotification;
            3    4     4    subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
    MethodParameters:
             Name  Flags
      truncatedAt  

  public void notifyRenewed(org.apache.cassandra.db.Memtable);
    descriptor: (Lorg/apache/cassandra/db/Memtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable renewed
         0: .line 465
            aload 0 /* this */
            new org.apache.cassandra.notifications.MemtableRenewedNotification
            dup
            aload 1 /* renewed */
            invokespecial org.apache.cassandra.notifications.MemtableRenewedNotification.<init>:(Lorg/apache/cassandra/db/Memtable;)V
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notify:(Lorg/apache/cassandra/notifications/INotification;)V
         1: .line 466
            return
        end local 1 // org.apache.cassandra.db.Memtable renewed
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  renewed  Lorg/apache/cassandra/db/Memtable;
    MethodParameters:
         Name  Flags
      renewed  

  public void notifySwitched(org.apache.cassandra.db.Memtable);
    descriptor: (Lorg/apache/cassandra/db/Memtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable previous
         0: .line 470
            aload 0 /* this */
            new org.apache.cassandra.notifications.MemtableSwitchedNotification
            dup
            aload 1 /* previous */
            invokespecial org.apache.cassandra.notifications.MemtableSwitchedNotification.<init>:(Lorg/apache/cassandra/db/Memtable;)V
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notify:(Lorg/apache/cassandra/notifications/INotification;)V
         1: .line 471
            return
        end local 1 // org.apache.cassandra.db.Memtable previous
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  previous  Lorg/apache/cassandra/db/Memtable;
    MethodParameters:
          Name  Flags
      previous  

  public void notifyDiscarded(org.apache.cassandra.db.Memtable);
    descriptor: (Lorg/apache/cassandra/db/Memtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.db.Memtable discarded
         0: .line 475
            aload 0 /* this */
            new org.apache.cassandra.notifications.MemtableDiscardedNotification
            dup
            aload 1 /* discarded */
            invokespecial org.apache.cassandra.notifications.MemtableDiscardedNotification.<init>:(Lorg/apache/cassandra/db/Memtable;)V
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notify:(Lorg/apache/cassandra/notifications/INotification;)V
         1: .line 476
            return
        end local 1 // org.apache.cassandra.db.Memtable discarded
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  discarded  Lorg/apache/cassandra/db/Memtable;
    MethodParameters:
           Name  Flags
      discarded  

  private void notify(org.apache.cassandra.notifications.INotification);
    descriptor: (Lorg/apache/cassandra/notifications/INotification;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.notifications.INotification notification
         0: .line 480
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.db.lifecycle.Tracker org.apache.cassandra.notifications.INotification top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.notifications.INotificationConsumer
            astore 2 /* subscriber */
        start local 2 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         2: .line 481
            aload 2 /* subscriber */
            aload 1 /* notification */
            aload 0 /* this */
            invokeinterface org.apache.cassandra.notifications.INotificationConsumer.handleNotification:(Lorg/apache/cassandra/notifications/INotification;Ljava/lang/Object;)V
        end local 2 // org.apache.cassandra.notifications.INotificationConsumer subscriber
         3: .line 480
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 482
            return
        end local 1 // org.apache.cassandra.notifications.INotification notification
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    5     1  notification  Lorg/apache/cassandra/notifications/INotification;
            2    3     2    subscriber  Lorg/apache/cassandra/notifications/INotificationConsumer;
    MethodParameters:
              Name  Flags
      notification  

  public boolean isDummy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
         0: .line 486
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.cfstore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            ifnull 1
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.isDaemonInitialized:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/lifecycle/Tracker;

  public void subscribe(org.apache.cassandra.notifications.INotificationConsumer);
    descriptor: (Lorg/apache/cassandra/notifications/INotificationConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.notifications.INotificationConsumer consumer
         0: .line 491
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            aload 1 /* consumer */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 492
            return
        end local 1 // org.apache.cassandra.notifications.INotificationConsumer consumer
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  consumer  Lorg/apache/cassandra/notifications/INotificationConsumer;
    MethodParameters:
          Name  Flags
      consumer  

  public void unsubscribe(org.apache.cassandra.notifications.INotificationConsumer);
    descriptor: (Lorg/apache/cassandra/notifications/INotificationConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // org.apache.cassandra.notifications.INotificationConsumer consumer
         0: .line 496
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.subscribers:Ljava/util/Collection;
            aload 1 /* consumer */
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 497
            return
        end local 1 // org.apache.cassandra.notifications.INotificationConsumer consumer
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  consumer  Lorg/apache/cassandra/notifications/INotificationConsumer;
    MethodParameters:
          Name  Flags
      consumer  

  private static java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> emptySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 501
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  public org.apache.cassandra.db.lifecycle.View getView();
    descriptor: ()Lorg/apache/cassandra/db/lifecycle/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
         0: .line 506
            aload 0 /* this */
            getfield org.apache.cassandra.db.lifecycle.Tracker.view:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            areturn
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/lifecycle/Tracker;

  public void removeUnsafe(java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.lifecycle.Tracker this
        start local 1 // java.util.Set toRemove
         0: .line 512
            aload 0 /* this */
            aload 1 /* toRemove */
            invokedynamic apply(Ljava/util/Set;)Lcom/google/common/base/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/db/lifecycle/Tracker.lambda$2(Ljava/util/Set;Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View; (6)
                  (Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.apply:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/utils/Pair;
            pop
         1: .line 515
            return
        end local 1 // java.util.Set toRemove
        end local 0 // org.apache.cassandra.db.lifecycle.Tracker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/lifecycle/Tracker;
            0    2     1  toRemove  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    MethodParameters:
          Name  Flags
      toRemove  

  private static org.apache.cassandra.db.lifecycle.View lambda$0(com.google.common.base.Predicate, org.apache.cassandra.db.lifecycle.View);
    descriptor: (Lcom/google/common/base/Predicate;Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=2
        start local 1 // org.apache.cassandra.db.lifecycle.View view
         0: .line 238
            aload 1 /* view */
            getfield org.apache.cassandra.db.lifecycle.View.sstables:Ljava/util/Set;
            aload 0
            iconst_1
            anewarray java.util.Set
            dup
            iconst_0
            aload 1 /* view */
            getfield org.apache.cassandra.db.lifecycle.View.compacting:Ljava/util/Set;
            aastore
            invokestatic org.apache.cassandra.db.lifecycle.Helpers.notIn:([Ljava/util/Set;)Lcom/google/common/base/Predicate;
            invokestatic com.google.common.base.Predicates.and:(Lcom/google/common/base/Predicate;Lcom/google/common/base/Predicate;)Lcom/google/common/base/Predicate;
            invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
            invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet;
            astore 2 /* toremove */
        start local 2 // java.util.Set toremove
         1: .line 239
            aload 2 /* toremove */
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            invokestatic org.apache.cassandra.db.lifecycle.View.updateLiveSet:(Ljava/util/Set;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            aload 1 /* view */
            invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            areturn
        end local 2 // java.util.Set toremove
        end local 1 // org.apache.cassandra.db.lifecycle.View view
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     1      view  Lorg/apache/cassandra/db/lifecycle/View;
            1    2     2  toremove  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  private static org.apache.cassandra.db.lifecycle.View lambda$2(java.util.Set, org.apache.cassandra.db.lifecycle.View);
    descriptor: (Ljava/util/Set;Lorg/apache/cassandra/db/lifecycle/View;)Lorg/apache/cassandra/db/lifecycle/View;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.apache.cassandra.db.lifecycle.View view
         0: .line 513
            aload 0
            invokestatic org.apache.cassandra.db.lifecycle.Tracker.emptySet:()Ljava/util/Set;
            invokestatic org.apache.cassandra.db.lifecycle.View.updateLiveSet:(Ljava/util/Set;Ljava/lang/Iterable;)Lcom/google/common/base/Function;
            aload 1 /* view */
            invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.lifecycle.View
            areturn
        end local 1 // org.apache.cassandra.db.lifecycle.View view
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  view  Lorg/apache/cassandra/db/lifecycle/View;
}
SourceFile: "Tracker.java"
NestMembers:
  org.apache.cassandra.db.lifecycle.Tracker$1
InnerClasses:
  public abstract SetView = com.google.common.collect.Sets$SetView of com.google.common.collect.Sets
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  Obsoletion = org.apache.cassandra.db.lifecycle.LogTransaction$Obsoletion of org.apache.cassandra.db.lifecycle.LogTransaction
  org.apache.cassandra.db.lifecycle.Tracker$1
  public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder