class org.apache.cassandra.db.compaction.CompactionManager$7 implements org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.db.compaction.CompactionManager$7
  super_class: java.lang.Object
{
  final org.apache.cassandra.db.compaction.CompactionManager this$0;
    descriptor: Lorg/apache/cassandra/db/compaction/CompactionManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.apache.cassandra.db.ColumnFamilyStore val$cfStore;
    descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.apache.cassandra.schema.CompactionParams$TombstoneOption val$tombstoneOption;
    descriptor: Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.cassandra.db.compaction.CompactionManager, org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.schema.CompactionParams$TombstoneOption);
    descriptor: (Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
         0: .line 506
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.db.compaction.CompactionManager$7.this$0:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 0 /* this */
            aload 2
            putfield org.apache.cassandra.db.compaction.CompactionManager$7.val$cfStore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            aload 3
            putfield org.apache.cassandra.db.compaction.CompactionManager$7.val$tombstoneOption:Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager$7;
    MethodParameters:
                     Name  Flags
      this$0               final
      val$cfStore          final
      val$tombstoneOption  final

  public java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader> filterSSTables(org.apache.cassandra.db.lifecycle.LifecycleTransaction);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
        start local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
         0: .line 511
            aload 1 /* transaction */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            astore 2 /* originals */
        start local 2 // java.lang.Iterable originals
         1: .line 512
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.val$cfStore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.onlyPurgeRepairedTombstones:()Z
            ifeq 3
         2: .line 513
            aload 2 /* originals */
            invokedynamic apply()Lcom/google/common/base/Predicate;
              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;)Z
                  org/apache/cassandra/io/sstable/format/SSTableReader.isRepaired()Z (5)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Z
            invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
            astore 2 /* originals */
         3: .line 514
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 2 /* originals */
            invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
            astore 3 /* sortedSSTables */
        start local 3 // java.util.List sortedSSTables
         4: .line 515
            aload 3 /* sortedSSTables */
            getstatic org.apache.cassandra.io.sstable.format.SSTableReader.maxTimestampAscending:Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         5: .line 516
            aload 3 /* sortedSSTables */
            areturn
        end local 3 // java.util.List sortedSSTables
        end local 2 // java.lang.Iterable originals
        end local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/apache/cassandra/db/compaction/CompactionManager$7;
            0    6     1     transaction  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            1    6     2       originals  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            4    6     3  sortedSSTables  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
             Name  Flags
      transaction  

  public void execute(org.apache.cassandra.db.lifecycle.LifecycleTransaction);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
        start local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
         0: .line 522
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Garbage collecting {}"
            aload 1 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 523
            new org.apache.cassandra.db.compaction.CompactionManager$7$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.val$cfStore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 1 /* txn */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.val$cfStore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.val$cfStore:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.val$tombstoneOption:Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$7$1.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager$7;Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ILorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
            astore 2 /* task */
        start local 2 // org.apache.cassandra.db.compaction.CompactionTask task
         2: .line 531
            aload 2 /* task */
            iconst_1
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.setUserDefined:(Z)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
            pop
         3: .line 532
            aload 2 /* task */
            getstatic org.apache.cassandra.db.compaction.OperationType.GARBAGE_COLLECT:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.setCompactionType:(Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
            pop
         4: .line 533
            aload 2 /* task */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager$7.this$0:Lorg/apache/cassandra/db/compaction/CompactionManager;
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.execute:(Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;)I
            pop
         5: .line 534
            return
        end local 2 // org.apache.cassandra.db.compaction.CompactionTask task
        end local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager$7 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager$7;
            0    6     1   txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            2    6     2  task  Lorg/apache/cassandra/db/compaction/CompactionTask;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      txn   
}
SourceFile: "CompactionManager.java"
EnclosingMethod: org.apache.cassandra.db.compaction.CompactionManager.performGarbageCollection:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;I)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
NestHost: org.apache.cassandra.db.compaction.CompactionManager
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.apache.cassandra.db.compaction.CompactionManager$7
  org.apache.cassandra.db.compaction.CompactionManager$7$1
  public final AllSSTableOpStatus = org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus of org.apache.cassandra.db.compaction.CompactionManager
  public abstract CompactionExecutorStatsCollector = org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector of org.apache.cassandra.db.compaction.CompactionManager
  private abstract OneSSTableOperation = org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation of org.apache.cassandra.db.compaction.CompactionManager
  public final TombstoneOption = org.apache.cassandra.schema.CompactionParams$TombstoneOption of org.apache.cassandra.schema.CompactionParams