public class org.apache.cassandra.db.compaction.CompactionController implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.compaction.CompactionController
  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 static final java.lang.String NEVER_PURGE_TOMBSTONES_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cassandra.never_purge_tombstones"

  static final boolean NEVER_PURGE_TOMBSTONES;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

  private org.apache.cassandra.utils.concurrent.Refs<org.apache.cassandra.io.sstable.format.SSTableReader> overlappingSSTables;
    descriptor: Lorg/apache/cassandra/utils/concurrent/Refs;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  private org.apache.cassandra.utils.OverlapIterator<org.apache.cassandra.db.PartitionPosition, org.apache.cassandra.io.sstable.format.SSTableReader> overlapIterator;
    descriptor: Lorg/apache/cassandra/utils/OverlapIterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/cassandra/utils/OverlapIterator<Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  private final java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader> compacting;
    descriptor: Ljava/lang/Iterable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  private final com.google.common.util.concurrent.RateLimiter limiter;
    descriptor: Lcom/google/common/util/concurrent/RateLimiter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long minTimestamp;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.cassandra.schema.CompactionParams$TombstoneOption tombstoneOption;
    descriptor: Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
    flags: (0x0010) ACC_FINAL

  final java.util.Map<org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.io.util.FileDataInput> openDataFiles;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/io/util/FileDataInput;>;

  public final int gcBefore;
    descriptor: I
    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 50
            ldc Lorg/apache/cassandra/db/compaction/CompactionController;
            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.compaction.CompactionController.$assertionsDisabled:Z
         3: .line 52
            ldc Lorg/apache/cassandra/db/compaction/CompactionController;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
         4: .line 54
            ldc "cassandra.never_purge_tombstones"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.apache.cassandra.db.ColumnFamilyStore, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // int maxValue
         0: .line 73
            aload 0 /* this */
            aload 1 /* cfs */
            aconst_null
            iload 2 /* maxValue */
            invokespecial org.apache.cassandra.db.compaction.CompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;I)V
         1: .line 74
            return
        end local 2 // int maxValue
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    2     1       cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2  maxValue  I
    MethodParameters:
          Name  Flags
      cfs       
      maxValue  

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>, );
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Set compacting
        start local 3 // int gcBefore
         0: .line 78
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* compacting */
            iload 3 /* gcBefore */
            aconst_null
         1: .line 79
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getCompactionParams:()Lorg/apache/cassandra/schema/CompactionParams;
            invokevirtual org.apache.cassandra.schema.CompactionParams.tombstoneOption:()Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            invokespecial org.apache.cassandra.db.compaction.CompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;ILcom/google/common/util/concurrent/RateLimiter;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
         2: .line 80
            return
        end local 3 // int gcBefore
        end local 2 // java.util.Set compacting
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    3     1         cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    3     2  compacting  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    3     3    gcBefore  I
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;I)V
    MethodParameters:
            Name  Flags
      cfs         
      compacting  
      gcBefore    

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>, int, com.google.common.util.concurrent.RateLimiter, org.apache.cassandra.schema.CompactionParams$TombstoneOption);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;ILcom/google/common/util/concurrent/RateLimiter;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Set compacting
        start local 3 // int gcBefore
        start local 4 // com.google.common.util.concurrent.RateLimiter limiter
        start local 5 // org.apache.cassandra.schema.CompactionParams$TombstoneOption tombstoneOption
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.cassandra.db.compaction.CompactionController.openDataFiles:Ljava/util/Map;
         2: .line 84
            getstatic org.apache.cassandra.db.compaction.CompactionController.$assertionsDisabled:Z
            ifne 3
            aload 1 /* cfs */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 85
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.ColumnFamilyStore java.util.Set int com.google.common.util.concurrent.RateLimiter org.apache.cassandra.schema.CompactionParams$TombstoneOption
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cfs */
            putfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
         4: .line 86
            aload 0 /* this */
            iload 3 /* gcBefore */
            putfield org.apache.cassandra.db.compaction.CompactionController.gcBefore:I
         5: .line 87
            aload 0 /* this */
            aload 2 /* compacting */
            putfield org.apache.cassandra.db.compaction.CompactionController.compacting:Ljava/lang/Iterable;
         6: .line 88
            aload 0 /* this */
            aload 4 /* limiter */
            putfield org.apache.cassandra.db.compaction.CompactionController.limiter:Lcom/google/common/util/concurrent/RateLimiter;
         7: .line 89
            aload 0 /* this */
            aload 2 /* compacting */
            ifnull 8
            aload 2 /* compacting */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/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
            invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
            ifeq 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.compaction.CompactionController
         8: iconst_0
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.ColumnFamilyStore java.util.Set int com.google.common.util.concurrent.RateLimiter org.apache.cassandra.schema.CompactionParams$TombstoneOption
      StackMap stack: org.apache.cassandra.db.compaction.CompactionController int
         9: putfield org.apache.cassandra.db.compaction.CompactionController.compactingRepaired:Z
        10: .line 90
            aload 0 /* this */
            aload 5 /* tombstoneOption */
            putfield org.apache.cassandra.db.compaction.CompactionController.tombstoneOption:Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
        11: .line 91
            aload 0 /* this */
            aload 2 /* compacting */
            ifnull 13
            aload 2 /* compacting */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
        12: .line 92
            aload 2 /* compacting */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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;)J
                  org/apache/cassandra/io/sstable/format/SSTableReader.getMinTimestamp()J (5)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)J
            invokeinterface java.util.stream.Stream.mapToLong:(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;
            invokeinterface java.util.stream.LongStream.min:()Ljava/util/OptionalLong;
            invokevirtual java.util.OptionalLong.getAsLong:()J
            goto 14
        13: .line 93
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.compaction.CompactionController
            lconst_0
        14: .line 91
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.ColumnFamilyStore java.util.Set int com.google.common.util.concurrent.RateLimiter org.apache.cassandra.schema.CompactionParams$TombstoneOption
      StackMap stack: org.apache.cassandra.db.compaction.CompactionController long
            putfield org.apache.cassandra.db.compaction.CompactionController.minTimestamp:J
        15: .line 94
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.refreshOverlaps:()V
        16: .line 95
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifeq 18
        17: .line 96
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "You are running with -Dcassandra.never_purge_tombstones=true, this is dangerous!"
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        18: .line 97
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.cassandra.schema.CompactionParams$TombstoneOption tombstoneOption
        end local 4 // com.google.common.util.concurrent.RateLimiter limiter
        end local 3 // int gcBefore
        end local 2 // java.util.Set compacting
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0   19     1              cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   19     2       compacting  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   19     3         gcBefore  I
            0   19     4          limiter  Lcom/google/common/util/concurrent/RateLimiter;
            0   19     5  tombstoneOption  Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;ILcom/google/common/util/concurrent/RateLimiter;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
    MethodParameters:
                 Name  Flags
      cfs              
      compacting       
      gcBefore         
      limiter          
      tombstoneOption  

  public void maybeRefreshOverlaps();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 101
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifeq 5
         1: .line 103
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "not refreshing overlaps - running with -D{}=true"
         2: .line 104
            ldc "cassandra.never_purge_tombstones"
         3: .line 103
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 105
            return
         5: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.ignoreOverlaps:()Z
            ifeq 8
         6: .line 110
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "not refreshing overlaps - running with ignoreOverlaps activated"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         7: .line 111
            return
         8: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.iterator:()Ljava/util/Iterator;
            astore 2
            goto 13
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController top java.util.Iterator
      StackMap stack:
         9: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 1 /* reader */
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        10: .line 116
            aload 1 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.isMarkedCompacted:()Z
            ifeq 13
        11: .line 118
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.refreshOverlaps:()V
        12: .line 119
            return
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        13: .line 114
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 122
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/apache/cassandra/db/compaction/CompactionController;
           10   13     1  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;

  private void refreshOverlaps();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 126
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifeq 2
         1: .line 127
            return
         2: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            ifnull 4
         3: .line 130
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
         4: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.compacting:Ljava/lang/Iterable;
            ifnull 5
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.ignoreOverlaps:()Z
            ifeq 6
         5: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokestatic org.apache.cassandra.utils.concurrent.Refs.tryRef:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
            putfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            goto 7
         6: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.compacting:Ljava/lang/Iterable;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getAndReferenceOverlappingLiveSSTables:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
            putfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
         7: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.cassandra.utils.OverlapIterator
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            invokestatic org.apache.cassandra.db.lifecycle.SSTableIntervalTree.buildIntervals:(Ljava/lang/Iterable;)Ljava/util/List;
            invokespecial org.apache.cassandra.utils.OverlapIterator.<init>:(Ljava/util/Collection;)V
            putfield org.apache.cassandra.db.compaction.CompactionController.overlapIterator:Lorg/apache/cassandra/utils/OverlapIterator;
         8: .line 137
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  public java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> getFullyExpiredSSTables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 141
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.compacting:Ljava/lang/Iterable;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.gcBefore:I
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.ignoreOverlaps:()Z
            invokestatic org.apache.cassandra.db.compaction.CompactionController.getFullyExpiredSSTables:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable;Ljava/lang/Iterable;IZ)Ljava/util/Set;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;
    Signature: ()Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;

  public static java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> getFullyExpiredSSTables(org.apache.cassandra.db.ColumnFamilyStore, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, int, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable;Ljava/lang/Iterable;IZ)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 1 // java.lang.Iterable compacting
        start local 2 // java.lang.Iterable overlapping
        start local 3 // int gcBefore
        start local 4 // boolean ignoreOverlaps
         0: .line 167
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "Checking droppable sstables in {}"
            aload 0 /* cfStore */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 169
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifne 2
            aload 1 /* compacting */
            ifnonnull 3
         2: .line 170
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         3: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* cfStore */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.onlyPurgeRepairedTombstones:()Z
            ifeq 5
            aload 1 /* compacting */
            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.all:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Z
            ifne 5
         4: .line 173
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         5: .line 175
      StackMap locals:
      StackMap stack:
            iload 4 /* ignoreOverlaps */
            ifeq 16
         6: .line 177
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* fullyExpired */
        start local 5 // java.util.Set fullyExpired
         7: .line 178
            aload 1 /* compacting */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 6 /* candidate */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
         9: .line 180
            aload 6 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            iload 3 /* gcBefore */
            if_icmpge 14
        10: .line 182
            aload 5 /* fullyExpired */
            aload 6 /* candidate */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 183
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "Dropping overlap ignored expired SSTable {} (maxLocalDeletionTime={}, gcBefore={})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 184
            aload 6 /* candidate */
            aastore
            dup
            iconst_1
            aload 6 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* gcBefore */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        13: .line 183
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
        14: .line 178
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        15: .line 187
            aload 5 /* fullyExpired */
            areturn
        end local 5 // java.util.Set fullyExpired
        16: .line 190
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* candidates */
        start local 5 // java.util.List candidates
        17: .line 191
            ldc 9223372036854775807
            lstore 6 /* minTimestamp */
        start local 6 // long minTimestamp
        18: .line 193
            aload 2 /* overlapping */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 22
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int java.util.List long top java.util.Iterator
      StackMap stack:
        19: 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
        20: .line 197
            aload 8 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            iload 3 /* gcBefore */
            if_icmplt 22
        21: .line 198
            lload 6 /* minTimestamp */
            aload 8 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getMinTimestamp:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 6 /* minTimestamp */
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        22: .line 193
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        23: .line 201
            aload 1 /* compacting */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals:
      StackMap stack:
        24: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 8 /* candidate */
        start local 8 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
        25: .line 203
            aload 8 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            iload 3 /* gcBefore */
            if_icmpge 27
        26: .line 204
            aload 5 /* candidates */
            aload 8 /* candidate */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
            goto 28
        27: .line 206
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int java.util.List long org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            lload 6 /* minTimestamp */
            aload 8 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getMinTimestamp:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 6 /* minTimestamp */
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
        28: .line 201
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int java.util.List long top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 209
            aload 0 /* cfStore */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.View.getAllMemtables:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 32
      StackMap locals:
      StackMap stack:
        30: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Memtable
            astore 8 /* memtable */
        start local 8 // org.apache.cassandra.db.Memtable memtable
        31: .line 210
            lload 6 /* minTimestamp */
            aload 8 /* memtable */
            invokevirtual org.apache.cassandra.db.Memtable.getMinTimestamp:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 6 /* minTimestamp */
        end local 8 // org.apache.cassandra.db.Memtable memtable
        32: .line 209
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        33: .line 217
            aload 5 /* candidates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* iterator */
        start local 8 // java.util.Iterator iterator
        34: .line 218
            goto 42
        35: .line 220
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.lang.Iterable java.lang.Iterable int int java.util.List long java.util.Iterator
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 9 /* candidate */
        start local 9 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
        36: .line 221
            aload 9 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getMaxTimestamp:()J
            lload 6 /* minTimestamp */
            lcmp
            iflt 39
        37: .line 223
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        38: .line 224
            goto 42
        39: .line 227
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionController.logger:Lorg/slf4j/Logger;
            ldc "Dropping expired SSTable {} (maxLocalDeletionTime={}, gcBefore={})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        40: .line 228
            aload 9 /* candidate */
            aastore
            dup
            iconst_1
            aload 9 /* candidate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* gcBefore */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        41: .line 227
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 9 // org.apache.cassandra.io.sstable.format.SSTableReader candidate
        42: .line 218
      StackMap locals:
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        43: .line 231
            new java.util.HashSet
            dup
            aload 5 /* candidates */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 8 // java.util.Iterator iterator
        end local 6 // long minTimestamp
        end local 5 // java.util.List candidates
        end local 4 // boolean ignoreOverlaps
        end local 3 // int gcBefore
        end local 2 // java.lang.Iterable overlapping
        end local 1 // java.lang.Iterable compacting
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfStore
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0         cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   44     1      compacting  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   44     2     overlapping  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   44     3        gcBefore  I
            0   44     4  ignoreOverlaps  Z
            7   16     5    fullyExpired  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            9   14     6       candidate  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           17   44     5      candidates  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           18   44     6    minTimestamp  J
           20   22     8         sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           25   28     8       candidate  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           31   32     8        memtable  Lorg/apache/cassandra/db/Memtable;
           34   44     8        iterator  Ljava/util/Iterator<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           36   42     9       candidate  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;IZ)Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
                Name  Flags
      cfStore         
      compacting      
      overlapping     
      gcBefore        
      ignoreOverlaps  

  public static java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> getFullyExpiredSSTables(org.apache.cassandra.db.ColumnFamilyStore, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable;Ljava/lang/Iterable;I)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 1 // java.lang.Iterable compacting
        start local 2 // java.lang.Iterable overlapping
        start local 3 // int gcBefore
         0: .line 239
            aload 0 /* cfStore */
            aload 1 /* compacting */
            aload 2 /* overlapping */
            iload 3 /* gcBefore */
            iconst_0
            invokestatic org.apache.cassandra.db.compaction.CompactionController.getFullyExpiredSSTables:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable;Ljava/lang/Iterable;IZ)Ljava/util/Set;
            areturn
        end local 3 // int gcBefore
        end local 2 // java.lang.Iterable overlapping
        end local 1 // java.lang.Iterable compacting
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfStore
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0      cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    1     1   compacting  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    1     2  overlapping  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    1     3     gcBefore  I
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;I)Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
             Name  Flags
      cfStore      
      compacting   
      overlapping  
      gcBefore     

  public java.lang.String getKeyspace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 244
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs: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;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  public java.lang.String getColumnFamily();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 249
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  public java.util.function.Predicate<java.lang.Long> getPurgeEvaluator(org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)Ljava/util/function/Predicate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.db.DecoratedKey key
         0: .line 261
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.compactingRepaired:()Z
            ifne 2
         1: .line 262
      StackMap locals:
      StackMap stack:
            invokedynamic test()Ljava/util/function/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/db/compaction/CompactionController.lambda$3(Ljava/lang/Long;)Z (6)
                  (Ljava/lang/Long;)Z
            areturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlapIterator:Lorg/apache/cassandra/utils/OverlapIterator;
            aload 1 /* key */
            invokevirtual org.apache.cassandra.utils.OverlapIterator.update:(Ljava/lang/Comparable;)V
         3: .line 265
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlapIterator:Lorg/apache/cassandra/utils/OverlapIterator;
            invokevirtual org.apache.cassandra.utils.OverlapIterator.overlaps:()Ljava/util/Set;
            astore 2 /* filteredSSTables */
        start local 2 // java.util.Set filteredSSTables
         4: .line 266
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
            invokevirtual org.apache.cassandra.db.lifecycle.View.getAllMemtables:()Ljava/lang/Iterable;
            astore 3 /* memtables */
        start local 3 // java.lang.Iterable memtables
         5: .line 267
            ldc 9223372036854775807
            lstore 4 /* minTimestampSeen */
        start local 4 // long minTimestampSeen
         6: .line 268
            iconst_0
            istore 6 /* hasTimestamp */
        start local 6 // boolean hasTimestamp
         7: .line 270
            aload 2 /* filteredSSTables */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.DecoratedKey java.util.Set java.lang.Iterable long int top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 7 /* sstable */
        start local 7 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         9: .line 274
            aload 7 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getBloomFilter:()Lorg/apache/cassandra/utils/IFilter;
            instanceof org.apache.cassandra.utils.AlwaysPresentFilter
            ifeq 10
            aload 7 /* sstable */
            aload 1 /* key */
            getstatic org.apache.cassandra.io.sstable.format.SSTableReader$Operator.EQ:Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;
            iconst_0
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getPosition:(Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;Z)Lorg/apache/cassandra/db/RowIndexEntry;
            ifnonnull 11
        10: .line 275
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.DecoratedKey java.util.Set java.lang.Iterable long int org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            aload 7 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getBloomFilter:()Lorg/apache/cassandra/utils/IFilter;
            aload 1 /* key */
            invokeinterface org.apache.cassandra.utils.IFilter.isPresent:(Lorg/apache/cassandra/utils/IFilter$FilterKey;)Z
            ifeq 13
        11: .line 277
      StackMap locals:
      StackMap stack:
            lload 4 /* minTimestampSeen */
            aload 7 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getMinTimestamp:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 4 /* minTimestampSeen */
        12: .line 278
            iconst_1
            istore 6 /* hasTimestamp */
        end local 7 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        13: .line 270
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.DecoratedKey java.util.Set java.lang.Iterable long int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 282
            aload 3 /* memtables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Memtable
            astore 7 /* memtable */
        start local 7 // org.apache.cassandra.db.Memtable memtable
        16: .line 284
            aload 7 /* memtable */
            aload 1 /* key */
            invokevirtual org.apache.cassandra.db.Memtable.getPartition:(Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/partitions/Partition;
            astore 9 /* partition */
        start local 9 // org.apache.cassandra.db.partitions.Partition partition
        17: .line 285
            aload 9 /* partition */
            ifnull 20
        18: .line 287
            lload 4 /* minTimestampSeen */
            aload 9 /* partition */
            invokeinterface org.apache.cassandra.db.partitions.Partition.stats:()Lorg/apache/cassandra/db/rows/EncodingStats;
            getfield org.apache.cassandra.db.rows.EncodingStats.minTimestamp:J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 4 /* minTimestampSeen */
        19: .line 288
            iconst_1
            istore 6 /* hasTimestamp */
        end local 9 // org.apache.cassandra.db.partitions.Partition partition
        end local 7 // org.apache.cassandra.db.Memtable memtable
        20: .line 282
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        21: .line 292
            iload 6 /* hasTimestamp */
            ifne 23
        22: .line 293
            invokedynamic test()Ljava/util/function/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/db/compaction/CompactionController.lambda$4(Ljava/lang/Long;)Z (6)
                  (Ljava/lang/Long;)Z
            areturn
        23: .line 296
      StackMap locals: org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.DecoratedKey java.util.Set java.lang.Iterable long int
      StackMap stack:
            lload 4 /* minTimestampSeen */
            lstore 7 /* finalTimestamp */
        start local 7 // long finalTimestamp
        24: .line 297
            lload 7 /* finalTimestamp */
            invokedynamic test(J)Ljava/util/function/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/db/compaction/CompactionController.lambda$5(JLjava/lang/Long;)Z (6)
                  (Ljava/lang/Long;)Z
            areturn
        end local 7 // long finalTimestamp
        end local 6 // boolean hasTimestamp
        end local 4 // long minTimestampSeen
        end local 3 // java.lang.Iterable memtables
        end local 2 // java.util.Set filteredSSTables
        end local 1 // org.apache.cassandra.db.DecoratedKey key
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0   25     1               key  Lorg/apache/cassandra/db/DecoratedKey;
            4   25     2  filteredSSTables  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            5   25     3         memtables  Ljava/lang/Iterable<Lorg/apache/cassandra/db/Memtable;>;
            6   25     4  minTimestampSeen  J
            7   25     6      hasTimestamp  Z
            9   13     7           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           16   20     7          memtable  Lorg/apache/cassandra/db/Memtable;
           17   20     9         partition  Lorg/apache/cassandra/db/partitions/Partition;
           24   25     7    finalTimestamp  J
    Signature: (Lorg/apache/cassandra/db/DecoratedKey;)Ljava/util/function/Predicate<Ljava/lang/Long;>;
    MethodParameters:
      Name  Flags
      key   

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 303
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            ifnull 2
         1: .line 304
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlappingSSTables:Lorg/apache/cassandra/utils/concurrent/Refs;
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.openDataFiles:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/lang/Iterable;)V
         3: .line 307
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.openDataFiles:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 308
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  public boolean compactingRepaired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 312
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs: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 1
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.compactingRepaired:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  boolean provideTombstoneSources();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 317
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.tombstoneOption:Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            getstatic org.apache.cassandra.schema.CompactionParams$TombstoneOption.NONE:Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  public java.lang.Iterable<org.apache.cassandra.db.rows.UnfilteredRowIterator> shadowSources(org.apache.cassandra.db.DecoratedKey, boolean);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Z)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.db.DecoratedKey key
        start local 2 // boolean tombstoneOnly
         0: .line 323
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.provideTombstoneSources:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.compactingRepaired:()Z
            ifeq 1
            getstatic org.apache.cassandra.db.compaction.CompactionController.NEVER_PURGE_TOMBSTONES:Z
            ifeq 2
         1: .line 324
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlapIterator:Lorg/apache/cassandra/utils/OverlapIterator;
            aload 1 /* key */
            invokevirtual org.apache.cassandra.utils.OverlapIterator.update:(Ljava/lang/Comparable;)V
         3: .line 326
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.overlapIterator:Lorg/apache/cassandra/utils/OverlapIterator;
            invokevirtual org.apache.cassandra.utils.OverlapIterator.overlaps:()Ljava/util/Set;
         4: .line 327
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* tombstoneOnly */
            invokedynamic apply(Lorg/apache/cassandra/db/compaction/CompactionController;Lorg/apache/cassandra/db/DecoratedKey;Z)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/compaction/CompactionController.lambda$6(Lorg/apache/cassandra/db/DecoratedKey;ZLorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator; (7)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
         5: .line 326
            invokestatic com.google.common.collect.Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;
         6: .line 328
            invokestatic com.google.common.base.Predicates.notNull:()Lcom/google/common/base/Predicate;
         7: .line 326
            invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
            areturn
        end local 2 // boolean tombstoneOnly
        end local 1 // org.apache.cassandra.db.DecoratedKey key
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    8     1            key  Lorg/apache/cassandra/db/DecoratedKey;
            0    8     2  tombstoneOnly  Z
    Signature: (Lorg/apache/cassandra/db/DecoratedKey;Z)Ljava/lang/Iterable<Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;>;
    MethodParameters:
               Name  Flags
      key            
      tombstoneOnly  

  private org.apache.cassandra.db.rows.UnfilteredRowIterator getShadowIterator(org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.db.DecoratedKey, boolean);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/DecoratedKey;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        start local 2 // org.apache.cassandra.db.DecoratedKey key
        start local 3 // boolean tombstoneOnly
         0: .line 334
            aload 1 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.isMarkedSuspect:()Z
            ifne 3
         1: .line 335
            aload 1 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getMaxTimestamp:()J
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.minTimestamp:J
            lcmp
            ifle 3
         2: .line 336
            iload 3 /* tombstoneOnly */
            ifeq 4
            aload 1 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.mayHaveTombstones:()Z
            ifne 4
         3: .line 337
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 338
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            aload 2 /* key */
            getstatic org.apache.cassandra.io.sstable.format.SSTableReader$Operator.EQ:Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getPosition:(Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/io/sstable/format/SSTableReader$Operator;)Lorg/apache/cassandra/db/RowIndexEntry;
            astore 4 /* position */
        start local 4 // org.apache.cassandra.db.RowIndexEntry position
         5: .line 339
            aload 4 /* position */
            ifnonnull 7
         6: .line 340
            aconst_null
            areturn
         7: .line 341
      StackMap locals: org.apache.cassandra.db.RowIndexEntry
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.openDataFiles:Ljava/util/Map;
            aload 1 /* reader */
            aload 0 /* this */
            invokedynamic apply(Lorg/apache/cassandra/db/compaction/CompactionController;)Ljava/util/function/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/compaction/CompactionController.openDataFile(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/io/util/FileDataInput; (7)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/io/util/FileDataInput;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.apache.cassandra.io.util.FileDataInput
            astore 5 /* dfile */
        start local 5 // org.apache.cassandra.io.util.FileDataInput dfile
         8: .line 342
            aload 1 /* reader */
            aload 5 /* dfile */
            aload 2 /* key */
            aload 4 /* position */
            iload 3 /* tombstoneOnly */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.simpleIterator:(Lorg/apache/cassandra/io/util/FileDataInput;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/RowIndexEntry;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            areturn
        end local 5 // org.apache.cassandra.io.util.FileDataInput dfile
        end local 4 // org.apache.cassandra.db.RowIndexEntry position
        end local 3 // boolean tombstoneOnly
        end local 2 // org.apache.cassandra.db.DecoratedKey key
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    9     1         reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0    9     2            key  Lorg/apache/cassandra/db/DecoratedKey;
            0    9     3  tombstoneOnly  Z
            5    9     4       position  Lorg/apache/cassandra/db/RowIndexEntry<*>;
            8    9     5          dfile  Lorg/apache/cassandra/io/util/FileDataInput;
    MethodParameters:
               Name  Flags
      reader         
      key            
      tombstoneOnly  

  protected boolean ignoreOverlaps();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
         0: .line 359
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionController;

  private org.apache.cassandra.io.util.FileDataInput openDataFile(org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/io/util/FileDataInput;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         0: .line 364
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.limiter:Lcom/google/common/util/concurrent/RateLimiter;
            ifnull 1
            aload 1 /* reader */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionController.limiter:Lcom/google/common/util/concurrent/RateLimiter;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.openDataReader:(Lcom/google/common/util/concurrent/RateLimiter;)Lorg/apache/cassandra/io/util/RandomAccessReader;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.openDataReader:()Lorg/apache/cassandra/io/util/RandomAccessReader;
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.util.RandomAccessReader
         2: areturn
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    3     1  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
        Name  Flags
      reader  

  private static boolean lambda$3(java.lang.Long);
    descriptor: (Ljava/lang/Long;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Long time
         0: .line 262
            iconst_0
            ireturn
        end local 0 // java.lang.Long time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  time  Ljava/lang/Long;

  private static boolean lambda$4(java.lang.Long);
    descriptor: (Ljava/lang/Long;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Long time
         0: .line 293
            iconst_1
            ireturn
        end local 0 // java.lang.Long time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  time  Ljava/lang/Long;

  private static boolean lambda$5(long, java.lang.Long);
    descriptor: (JLjava/lang/Long;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=2
        start local 2 // java.lang.Long time
         0: .line 297
            aload 2 /* time */
            invokevirtual java.lang.Long.longValue:()J
            lload 0
            lcmp
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // java.lang.Long time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     2  time  Ljava/lang/Long;

  private org.apache.cassandra.db.rows.UnfilteredRowIterator lambda$6(org.apache.cassandra.db.DecoratedKey, boolean, org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;ZLorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionController this
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         0: .line 327
            aload 0 /* this */
            aload 3 /* reader */
            aload 1
            iload 2
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.getShadowIterator:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/DecoratedKey;Z)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            areturn
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        end local 0 // org.apache.cassandra.db.compaction.CompactionController this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/db/compaction/CompactionController;
            0    1     3  reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
}
SourceFile: "CompactionController.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Operator = org.apache.cassandra.io.sstable.format.SSTableReader$Operator of org.apache.cassandra.io.sstable.format.SSTableReader
  public final TombstoneOption = org.apache.cassandra.schema.CompactionParams$TombstoneOption of org.apache.cassandra.schema.CompactionParams
  public abstract FilterKey = org.apache.cassandra.utils.IFilter$FilterKey of org.apache.cassandra.utils.IFilter