public class org.apache.cassandra.db.compaction.LeveledCompactionStrategy extends org.apache.cassandra.db.compaction.AbstractCompactionStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  super_class: org.apache.cassandra.db.compaction.AbstractCompactionStrategy
{
  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 SSTABLE_SIZE_OPTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sstable_size_in_mb"

  private static final boolean tolerateSstableSize;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String LEVEL_FANOUT_SIZE_OPTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "fanout_size"

  public static final int DEFAULT_LEVEL_FANOUT_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  final org.apache.cassandra.db.compaction.LeveledManifest manifest;
    descriptor: Lorg/apache/cassandra/db/compaction/LeveledManifest;
    flags: (0x0010) ACC_FINAL
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

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

  private final int levelFanoutSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, 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 45
            ldc Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            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.LeveledCompactionStrategy.$assertionsDisabled:Z
         3: .line 47
            ldc Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
         4: .line 49
            ldc "cassandra.tolerate_sstable_size"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.tolerateSstableSize:Z
         5: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Map options
         0: .line 60
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* options */
            invokespecial org.apache.cassandra.db.compaction.AbstractCompactionStrategy.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Map;)V
         1: .line 61
            sipush 160
            istore 3 /* configuredMaxSSTableSize */
        start local 3 // int configuredMaxSSTableSize
         2: .line 62
            bipush 10
            istore 4 /* configuredLevelFanoutSize */
        start local 4 // int configuredLevelFanoutSize
         3: .line 63
            new org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions
            dup
            aload 2 /* options */
            invokespecial org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions.<init>:(Ljava/util/Map;)V
            astore 5 /* localOptions */
        start local 5 // org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions localOptions
         4: .line 64
            aload 2 /* options */
            ifnull 18
         5: .line 66
            aload 2 /* options */
            ldc "sstable_size_in_mb"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 16
         6: .line 68
            aload 2 /* options */
            ldc "sstable_size_in_mb"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* configuredMaxSSTableSize */
         7: .line 69
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.tolerateSstableSize:Z
            ifne 16
         8: .line 71
            iload 3 /* configuredMaxSSTableSize */
            sipush 1000
            if_icmplt 12
         9: .line 72
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Max sstable size of {}MB is configured for {}.{}; having a unit of compaction this large is probably a bad idea"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 73
            iload 3 /* configuredMaxSSTableSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getColumnFamilyName:()Ljava/lang/String;
            aastore
        11: .line 72
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 74
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy org.apache.cassandra.db.ColumnFamilyStore java.util.Map int int org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions
      StackMap stack:
            iload 3 /* configuredMaxSSTableSize */
            bipush 50
            if_icmpge 16
        13: .line 75
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Max sstable size of {}MB is configured for {}.{}.  Testing done for CASSANDRA-5727 indicates that performance improves up to 160MB"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        14: .line 76
            iload 3 /* configuredMaxSSTableSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getColumnFamilyName:()Ljava/lang/String;
            aastore
        15: .line 75
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* options */
            ldc "fanout_size"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 82
            aload 2 /* options */
            ldc "fanout_size"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* configuredLevelFanoutSize */
        18: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* configuredMaxSSTableSize */
            putfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.maxSSTableSizeInMB:I
        19: .line 86
            aload 0 /* this */
            iload 4 /* configuredLevelFanoutSize */
            putfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.levelFanoutSize:I
        20: .line 88
            aload 0 /* this */
            new org.apache.cassandra.db.compaction.LeveledManifest
            dup
            aload 1 /* cfs */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.maxSSTableSizeInMB:I
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.levelFanoutSize:I
            aload 5 /* localOptions */
            invokespecial org.apache.cassandra.db.compaction.LeveledManifest.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;IILorg/apache/cassandra/db/compaction/SizeTieredCompactionStrategyOptions;)V
            putfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
        21: .line 89
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Created {}"
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        22: .line 90
            return
        end local 5 // org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions localOptions
        end local 4 // int configuredLevelFanoutSize
        end local 3 // int configuredMaxSSTableSize
        end local 2 // java.util.Map options
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   23     0                       this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   23     1                        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   23     2                    options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   23     3   configuredMaxSSTableSize  I
            3   23     4  configuredLevelFanoutSize  I
            4   23     5               localOptions  Lorg/apache/cassandra/db/compaction/SizeTieredCompactionStrategyOptions;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      cfs      
      options  

  public int getLevelSize(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // int i
         0: .line 94
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            iload 1 /* i */
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getLevelSize:(I)I
            ireturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int[] getAllLevelSize();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 99
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getAllLevelSize:()[I
            areturn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  public void startup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 105
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.calculateLastCompactedKeys:()V
         1: .line 106
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.compaction.AbstractCompactionStrategy.startup:()V
         2: .line 107
            return
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  public org.apache.cassandra.db.compaction.AbstractCompactionTask getNextBackgroundTask(int);
    descriptor: (I)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // int gcBefore
         0: .line 116
            aconst_null
            astore 2 /* previousCandidate */
        start local 2 // java.util.Collection previousCandidate
         1: .line 120
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getCompactionCandidates:()Lorg/apache/cassandra/db/compaction/LeveledManifest$CompactionCandidate;
            astore 4 /* candidate */
        start local 4 // org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate candidate
         2: .line 121
            aload 4 /* candidate */
            ifnonnull 13
         3: .line 124
            aload 0 /* this */
            iload 1 /* gcBefore */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionStrategy.findDroppableSSTable:(I)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 5 /* sstable */
        start local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 125
            aload 5 /* sstable */
            ifnonnull 7
         5: .line 127
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "No compaction necessary for {}"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 128
            aconst_null
            areturn
         7: .line 130
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int java.util.Collection top org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            new org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate
            dup
            aload 5 /* sstable */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
         8: .line 131
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
         9: .line 132
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionStrategy.getMaxSSTableBytes:()J
        10: .line 130
            invokespecial org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.<init>:(Ljava/util/Collection;IJ)V
            astore 4 /* candidate */
        11: .line 133
            getstatic org.apache.cassandra.db.compaction.OperationType.TOMBSTONE_COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            astore 3 /* op */
        end local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 3 // org.apache.cassandra.db.compaction.OperationType op
        12: .line 134
            goto 14
        end local 3 // org.apache.cassandra.db.compaction.OperationType op
        13: .line 137
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.OperationType.COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            astore 3 /* op */
        start local 3 // org.apache.cassandra.db.compaction.OperationType op
        14: .line 142
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int java.util.Collection org.apache.cassandra.db.compaction.OperationType org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate
      StackMap stack:
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.sstables:Ljava/util/Collection;
            aload 2 /* previousCandidate */
            invokeinterface java.util.Collection.equals:(Ljava/lang/Object;)Z
            ifeq 19
        15: .line 144
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Could not acquire references for compacting SSTables {} which is not a problem per se,unless it happens frequently, in which case it must be reported. Will retry later."
        16: .line 146
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.sstables:Ljava/util/Collection;
        17: .line 144
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 147
            aconst_null
            areturn
        19: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.sstables:Ljava/util/Collection;
            getstatic org.apache.cassandra.db.compaction.OperationType.COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.tryModify:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 5 /* txn */
        start local 5 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        20: .line 151
            aload 5 /* txn */
            ifnull 24
        21: .line 153
            new org.apache.cassandra.db.compaction.LeveledCompactionTask
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 5 /* txn */
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.level:I
            iload 1 /* gcBefore */
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.maxSSTableBytes:J
            iconst_0
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IIJZ)V
            astore 6 /* newTask */
        start local 6 // org.apache.cassandra.db.compaction.LeveledCompactionTask newTask
        22: .line 154
            aload 6 /* newTask */
            aload 3 /* op */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionTask.setCompactionType:(Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
            pop
        23: .line 155
            aload 6 /* newTask */
            areturn
        end local 6 // org.apache.cassandra.db.compaction.LeveledCompactionTask newTask
        24: .line 157
      StackMap locals: org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack:
            aload 4 /* candidate */
            getfield org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate.sstables:Ljava/util/Collection;
            astore 2 /* previousCandidate */
        end local 5 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 4 // org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate candidate
        end local 3 // org.apache.cassandra.db.compaction.OperationType op
        25: .line 117
            goto 1
        end local 2 // java.util.Collection previousCandidate
        end local 1 // int gcBefore
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0               this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   26     1           gcBefore  I
            1   26     2  previousCandidate  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           12   13     3                 op  Lorg/apache/cassandra/db/compaction/OperationType;
           14   25     3                 op  Lorg/apache/cassandra/db/compaction/OperationType;
            2   25     4          candidate  Lorg/apache/cassandra/db/compaction/LeveledManifest$CompactionCandidate;
            4   12     5            sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           20   25     5                txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
           22   24     6            newTask  Lorg/apache/cassandra/db/compaction/LeveledCompactionTask;
    MethodParameters:
          Name  Flags
      gcBefore  

  public synchronized java.util.Collection<org.apache.cassandra.db.compaction.AbstractCompactionTask> getMaximalTask(int, boolean);
    descriptor: (IZ)Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=12, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // int gcBefore
        start local 2 // boolean splitOutput
         0: .line 164
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getAllSSTables:()Ljava/lang/Iterable;
            astore 3 /* sstables */
        start local 3 // java.lang.Iterable sstables
         1: .line 166
            aload 3 /* sstables */
            invokestatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.filterSuspectSSTables:(Ljava/lang/Iterable;)Ljava/util/List;
            astore 4 /* filteredSSTables */
        start local 4 // java.lang.Iterable filteredSSTables
         2: .line 167
            aload 3 /* sstables */
            invokestatic com.google.common.collect.Iterables.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 4
         3: .line 168
            aconst_null
            areturn
         4: .line 169
      StackMap locals: java.lang.Iterable java.lang.Iterable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            aload 4 /* filteredSSTables */
            getstatic org.apache.cassandra.db.compaction.OperationType.COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.tryModify:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 5 /* txn */
        start local 5 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
         5: .line 170
            aload 5 /* txn */
            ifnonnull 7
         6: .line 171
            aconst_null
            areturn
         7: .line 172
      StackMap locals: org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack:
            iconst_1
            anewarray org.apache.cassandra.db.compaction.AbstractCompactionTask
            dup
            iconst_0
            new org.apache.cassandra.db.compaction.LeveledCompactionTask
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 5 /* txn */
            iconst_0
            iload 1 /* gcBefore */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionStrategy.getMaxSSTableBytes:()J
            iconst_1
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IIJZ)V
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 5 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 4 // java.lang.Iterable filteredSSTables
        end local 3 // java.lang.Iterable sstables
        end local 2 // boolean splitOutput
        end local 1 // int gcBefore
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0    8     1          gcBefore  I
            0    8     2       splitOutput  Z
            1    8     3          sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            2    8     4  filteredSSTables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            5    8     5               txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
    Signature: (IZ)Ljava/util/Collection<Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;>;
    MethodParameters:
             Name  Flags
      gcBefore     
      splitOutput  

  public org.apache.cassandra.db.compaction.AbstractCompactionTask getUserDefinedTask(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, int);
    descriptor: (Ljava/util/Collection;I)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // java.util.Collection sstables
        start local 2 // int gcBefore
         0: .line 181
            aload 1 /* sstables */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 182
            aconst_null
            areturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            aload 1 /* sstables */
            getstatic org.apache.cassandra.db.compaction.OperationType.COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.tryModify:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 3 /* transaction */
        start local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
         3: .line 185
            aload 3 /* transaction */
            ifnonnull 6
         4: .line 187
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Unable to mark {} for compaction; probably a background compaction got to it first.  You can disable background compactions temporarily if this is a problem"
            aload 1 /* sstables */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 188
            aconst_null
            areturn
         6: .line 190
      StackMap locals: org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack:
            aload 1 /* sstables */
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmple 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* sstables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* level */
        start local 4 // int level
         9: .line 191
            new org.apache.cassandra.db.compaction.LeveledCompactionTask
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 3 /* transaction */
            iload 4 /* level */
            iload 2 /* gcBefore */
            iload 4 /* level */
            ifne 10
            ldc 9223372036854775807
            goto 11
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int org.apache.cassandra.db.lifecycle.LifecycleTransaction int
      StackMap stack: new 9 new 9 org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int
        10: aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionStrategy.getMaxSSTableBytes:()J
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int org.apache.cassandra.db.lifecycle.LifecycleTransaction int
      StackMap stack: new 9 new 9 org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int long
        11: iconst_0
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IIJZ)V
            areturn
        end local 4 // int level
        end local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
        end local 2 // int gcBefore
        end local 1 // java.util.Collection sstables
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   12     1     sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   12     2     gcBefore  I
            3   12     3  transaction  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            9   12     4        level  I
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;I)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
    MethodParameters:
          Name  Flags
      sstables  
      gcBefore  

  public org.apache.cassandra.db.compaction.AbstractCompactionTask getCompactionTask(org.apache.cassandra.db.lifecycle.LifecycleTransaction, int, long);
    descriptor: (Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IJ)Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 2 // int gcBefore
        start local 3 // long maxSSTableBytes
         0: .line 197
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.$assertionsDisabled:Z
            ifne 1
            aload 1 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 198
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* level */
        start local 5 // int level
         2: .line 200
            aload 1 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy org.apache.cassandra.db.lifecycle.LifecycleTransaction int long int top java.util.Iterator
      StackMap stack:
         3: 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
         4: .line 202
            iload 5 /* level */
            iconst_m1
            if_icmpne 6
         5: .line 203
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            istore 5 /* level */
         6: .line 204
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy org.apache.cassandra.db.lifecycle.LifecycleTransaction int long int org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            iload 5 /* level */
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            if_icmpeq 8
         7: .line 205
            iconst_0
            istore 5 /* level */
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         8: .line 200
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy org.apache.cassandra.db.lifecycle.LifecycleTransaction int long int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 207
            new org.apache.cassandra.db.compaction.LeveledCompactionTask
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 1 /* txn */
            iload 5 /* level */
            iload 2 /* gcBefore */
            lload 3 /* maxSSTableBytes */
            iconst_0
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IIJZ)V
            areturn
        end local 5 // int level
        end local 3 // long maxSSTableBytes
        end local 2 // int gcBefore
        end local 1 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   10     1              txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   10     2         gcBefore  I
            0   10     3  maxSSTableBytes  J
            2   10     5            level  I
            4    8     6          sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
                 Name  Flags
      txn              
      gcBefore         
      maxSSTableBytes  

  public java.util.Collection<java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>> groupSSTablesForAntiCompaction(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // java.util.Collection ssTablesToGroup
         0: .line 220
            iconst_2
            istore 2 /* groupSize */
        start local 2 // int groupSize
         1: .line 221
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* sstablesByLevel */
        start local 3 // java.util.Map sstablesByLevel
         2: .line 222
            aload 1 /* ssTablesToGroup */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 4 /* sstable */
        start local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 224
            aload 4 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 6 /* level */
        start local 6 // java.lang.Integer level
         5: .line 225
            aload 3 /* sstablesByLevel */
            aload 6 /* level */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
            astore 7 /* sstablesForLevel */
        start local 7 // java.util.Collection sstablesForLevel
         6: .line 226
            aload 7 /* sstablesForLevel */
            ifnonnull 9
         7: .line 228
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* sstablesForLevel */
         8: .line 229
            aload 3 /* sstablesByLevel */
            aload 6 /* level */
            aload 7 /* sstablesForLevel */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 231
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Integer java.util.Collection
      StackMap stack:
            aload 7 /* sstablesForLevel */
            aload 4 /* sstable */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Collection sstablesForLevel
        end local 6 // java.lang.Integer level
        end local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        10: .line 222
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 234
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* groupedSSTables */
        start local 4 // java.util.Collection groupedSSTables
        12: .line 236
            aload 3 /* sstablesByLevel */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map java.util.Collection top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Collection
            astore 5 /* levelOfSSTables */
        start local 5 // java.util.Collection levelOfSSTables
        14: .line 238
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* currGroup */
        start local 7 // java.util.Collection currGroup
        15: .line 239
            aload 5 /* levelOfSSTables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 21
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map java.util.Collection java.util.Collection java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
        16: 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
        17: .line 241
            aload 7 /* currGroup */
            aload 8 /* sstable */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        18: .line 242
            aload 7 /* currGroup */
            invokeinterface java.util.Collection.size:()I
            iload 2 /* groupSize */
            if_icmpne 21
        19: .line 244
            aload 4 /* groupedSSTables */
            aload 7 /* currGroup */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        20: .line 245
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* currGroup */
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        21: .line 239
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        22: .line 249
            aload 7 /* currGroup */
            invokeinterface java.util.Collection.size:()I
            ifeq 24
        23: .line 250
            aload 4 /* groupedSSTables */
            aload 7 /* currGroup */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Collection currGroup
        end local 5 // java.util.Collection levelOfSSTables
        24: .line 236
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection int java.util.Map java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        25: .line 252
            aload 4 /* groupedSSTables */
            areturn
        end local 4 // java.util.Collection groupedSSTables
        end local 3 // java.util.Map sstablesByLevel
        end local 2 // int groupSize
        end local 1 // java.util.Collection ssTablesToGroup
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   26     1   ssTablesToGroup  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            1   26     2         groupSize  I
            2   26     3   sstablesByLevel  Ljava/util/Map<Ljava/lang/Integer;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;>;
            4   10     4           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            5   10     6             level  Ljava/lang/Integer;
            6   10     7  sstablesForLevel  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           12   26     4   groupedSSTables  Ljava/util/Collection<Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;>;
           14   24     5   levelOfSSTables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           15   24     7         currGroup  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           17   21     8           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Ljava/util/Collection<Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;>;
    MethodParameters:
                 Name  Flags
      ssTablesToGroup  

  public int getEstimatedRemainingTasks();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 258
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getEstimatedTasks:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 259
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            getfield org.apache.cassandra.db.compaction.CompactionStrategyManager.compactionLogger:Lorg/apache/cassandra/db/compaction/CompactionLogger;
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual org.apache.cassandra.db.compaction.CompactionLogger.pending:(Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy;I)V
         2: .line 260
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            1    3     1     n  I

  public long getMaxSSTableBytes();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 265
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.maxSSTableSizeInMB:I
            i2l
            ldc 1024
            lmul
            ldc 1024
            lmul
            lreturn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  public int getLevelFanoutSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 270
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.levelFanoutSize:I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  public org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList getScanners(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // java.util.Collection sstables
        start local 2 // java.util.Collection ranges
         0: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getSStablesPerLevelSnapshot:()[Ljava/util/Set;
            astore 3 /* sstablesPerLevel */
        start local 3 // java.util.Set[] sstablesPerLevel
         1: .line 277
            invokestatic com.google.common.collect.ArrayListMultimap.create:()Lcom/google/common/collect/ArrayListMultimap;
            astore 4 /* byLevel */
        start local 4 // com.google.common.collect.Multimap byLevel
         2: .line 278
            aload 1 /* sstables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 5 /* sstable */
        start local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 280
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            istore 7 /* level */
        start local 7 // int level
         5: .line 283
            iload 7 /* level */
            aload 3 /* sstablesPerLevel */
            arraylength
            if_icmpge 6
            aload 3 /* sstablesPerLevel */
            iload 7 /* level */
            aaload
            aload 5 /* sstable */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 10
         6: .line 285
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator int
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy.logger:Lorg/slf4j/Logger;
            ldc "Live sstable {} from level {} is not on corresponding level in the leveled manifest. This is not a problem per se, but may indicate an orphaned sstable due to a failed compaction not cleaned up properly."
         7: .line 288
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getFilename:()Ljava/lang/String;
            iload 7 /* level */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 285
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 289
            iconst_m1
            istore 7 /* level */
        10: .line 291
      StackMap locals:
      StackMap stack:
            aload 4 /* byLevel */
            iload 7 /* level */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            aload 5 /* sstable */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // int level
        end local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        11: .line 278
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 294
            new java.util.ArrayList
            dup
            aload 1 /* sstables */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* scanners */
        start local 5 // java.util.List scanners
        13: .line 297
            aload 4 /* byLevel */
            invokeinterface com.google.common.collect.Multimap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 25
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 6 /* level */
        start local 6 // java.lang.Integer level
        15: .line 301
            aload 6 /* level */
            invokevirtual java.lang.Integer.intValue:()I
            ifgt 21
        16: .line 304
            aload 4 /* byLevel */
            aload 6 /* level */
            invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 19
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List java.lang.Integer java.util.Iterator top java.util.Iterator
      StackMap stack:
        17: 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
        18: .line 305
            aload 5 /* scanners */
            aload 8 /* sstable */
            aload 2 /* ranges */
            aconst_null
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getScanner:(Ljava/util/Collection;Lcom/google/common/util/concurrent/RateLimiter;)Lorg/apache/cassandra/io/sstable/ISSTableScanner;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        19: .line 304
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 306
            goto 25
        21: .line 310
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List java.lang.Integer java.util.Iterator
      StackMap stack:
            aload 4 /* byLevel */
            aload 6 /* level */
            invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            aload 2 /* ranges */
            invokestatic org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.intersecting:(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;
            astore 8 /* intersecting */
        start local 8 // java.util.Collection intersecting
        22: .line 311
            aload 8 /* intersecting */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 25
        23: .line 314
            new org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner
            dup
            aload 8 /* intersecting */
            aload 2 /* ranges */
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.<init>:(Ljava/util/Collection;Ljava/util/Collection;)V
            astore 9 /* scanner */
        start local 9 // org.apache.cassandra.io.sstable.ISSTableScanner scanner
        24: .line 315
            aload 5 /* scanners */
            aload 9 /* scanner */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.cassandra.io.sstable.ISSTableScanner scanner
        end local 8 // java.util.Collection intersecting
        end local 6 // java.lang.Integer level
        25: .line 297
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        26: .line 319
            goto 33
        27: .line 320
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        28: .line 324
            new org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList
            dup
            aload 5 /* scanners */
            invokespecial org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.<init>:(Ljava/util/List;)V
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
        29: .line 325
            goto 32
        30: .line 326
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy java.util.Collection java.util.Collection java.util.Set[] com.google.common.collect.Multimap java.util.List java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 7 /* t2 */
        start local 7 // java.lang.Throwable t2
        31: .line 328
            aload 6 /* t */
            aload 7 /* t2 */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable t2
        32: .line 330
      StackMap locals:
      StackMap stack:
            aload 6 /* t */
            athrow
        end local 6 // java.lang.Throwable t
        33: .line 333
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList
            dup
            aload 5 /* scanners */
            invokespecial org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.<init>:(Ljava/util/List;)V
            areturn
        end local 5 // java.util.List scanners
        end local 4 // com.google.common.collect.Multimap byLevel
        end local 3 // java.util.Set[] sstablesPerLevel
        end local 2 // java.util.Collection ranges
        end local 1 // java.util.Collection sstables
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0              this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   34     1          sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   34     2            ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            1   34     3  sstablesPerLevel  [Ljava/util/Set;
            2   34     4           byLevel  Lcom/google/common/collect/Multimap<Ljava/lang/Integer;Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            4   11     5           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            5   11     7             level  I
           13   34     5          scanners  Ljava/util/List<Lorg/apache/cassandra/io/sstable/ISSTableScanner;>;
           15   25     6             level  Ljava/lang/Integer;
           18   19     8           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           22   25     8      intersecting  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           24   25     9           scanner  Lorg/apache/cassandra/io/sstable/ISSTableScanner;
           28   33     6                 t  Ljava/lang/Throwable;
           31   32     7                t2  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          13    26      27  Class java.lang.Throwable
          28    29      30  Class java.lang.Throwable
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
    MethodParameters:
          Name  Flags
      sstables  
      ranges    

  public void replaceSSTables(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // java.util.Collection removed
        start local 2 // java.util.Collection added
         0: .line 339
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            aload 1 /* removed */
            aload 2 /* added */
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.replace:(Ljava/util/Collection;Ljava/util/Collection;)V
         1: .line 340
            return
        end local 2 // java.util.Collection added
        end local 1 // java.util.Collection removed
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0    2     1  removed  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    2     2    added  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
    MethodParameters:
         Name  Flags
      removed  
      added    

  public void addSSTable(org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader added
         0: .line 345
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            aload 1 /* added */
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.add:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
         1: .line 346
            return
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader added
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0    2     1  added  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
       Name  Flags
      added  

  public void removeSSTable(org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         0: .line 351
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            aload 1 /* sstable */
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.remove:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)I
            pop
         1: .line 352
            return
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0    2     1  sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
         Name  Flags
      sstable  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 488
            ldc "LCS@%d(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  private org.apache.cassandra.io.sstable.format.SSTableReader findDroppableSSTable(int);
    descriptor: (I)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
        start local 1 // int gcBefore
         0: .line 494
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getLevelCount:()I
            istore 2 /* i */
        start local 2 // int i
         1: goto 14
         2: .line 497
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.manifest:Lorg/apache/cassandra/db/compaction/LeveledManifest;
            iload 2 /* i */
            new org.apache.cassandra.db.compaction.LeveledCompactionStrategy$1
            dup
            aload 0 /* this */
            iload 1 /* gcBefore */
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionStrategy$1.<init>:(Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;I)V
            invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getLevelSorted:(ILjava/util/Comparator;)Ljava/util/SortedSet;
            astore 3 /* sstables */
        start local 3 // java.util.SortedSet sstables
         3: .line 506
            aload 3 /* sstables */
            invokeinterface java.util.SortedSet.isEmpty:()Z
            ifeq 5
         4: .line 507
            goto 13
         5: .line 509
      StackMap locals: java.util.SortedSet
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.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.getCompacting:()Ljava/util/Set;
            astore 4 /* compacting */
        start local 4 // java.util.Set compacting
         6: .line 510
            aload 3 /* sstables */
            invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int int java.util.SortedSet java.util.Set top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 5 /* sstable */
        start local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         8: .line 512
            aload 5 /* sstable */
            iload 1 /* gcBefore */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getEstimatedDroppableTombstoneRatio:(I)D
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.LeveledCompactionStrategy.tombstoneThreshold:F
            f2d
            dcmpg
            ifgt 10
         9: .line 513
            goto 13
        10: .line 514
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int int java.util.SortedSet java.util.Set org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            aload 4 /* compacting */
            aload 5 /* sstable */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 12
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.isMarkedSuspect:()Z
            ifne 12
            aload 0 /* this */
            aload 5 /* sstable */
            iload 1 /* gcBefore */
            invokevirtual org.apache.cassandra.db.compaction.LeveledCompactionStrategy.worthDroppingTombstones:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;I)Z
            ifeq 12
        11: .line 515
            aload 5 /* sstable */
            areturn
        end local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        12: .line 510
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int int java.util.SortedSet java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // java.util.Set compacting
        end local 3 // java.util.SortedSet sstables
        13: .line 494
      StackMap locals: org.apache.cassandra.db.compaction.LeveledCompactionStrategy int int
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            ifge 2
        end local 2 // int i
        15: .line 518
            aconst_null
            areturn
        end local 1 // int gcBefore
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
            0   16     1    gcBefore  I
            1   15     2           i  I
            3   13     3    sstables  Ljava/util/SortedSet<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            6   13     4  compacting  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            8   12     5     sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
          Name  Flags
      gcBefore  final

  public org.apache.cassandra.db.compaction.CompactionLogger$Strategy strategyLogger();
    descriptor: ()Lorg/apache/cassandra/db/compaction/CompactionLogger$Strategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
         0: .line 523
            new org.apache.cassandra.db.compaction.LeveledCompactionStrategy$2
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.compaction.LeveledCompactionStrategy$2.<init>:(Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;)V
            areturn
        end local 0 // org.apache.cassandra.db.compaction.LeveledCompactionStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;

  public static java.util.Map<java.lang.String, java.lang.String> validateOptions(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.util.Map options
         0: .line 543
            aload 0 /* options */
            invokestatic org.apache.cassandra.db.compaction.AbstractCompactionStrategy.validateOptions:(Ljava/util/Map;)Ljava/util/Map;
            astore 1 /* uncheckedOptions */
        start local 1 // java.util.Map uncheckedOptions
         1: .line 545
            aload 0 /* options */
            ldc "sstable_size_in_mb"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* options */
            ldc "sstable_size_in_mb"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: ldc "1"
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 2 /* size */
        start local 2 // java.lang.String size
         4: .line 548
            aload 2 /* size */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* ssSize */
        start local 3 // int ssSize
         5: .line 549
            iload 3 /* ssSize */
            iconst_1
            if_icmpge 9
         6: .line 551
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "%s must be larger than 0, but was %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "sstable_size_in_mb"
            aastore
            dup
            iconst_1
            iload 3 /* ssSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int ssSize
         7: .line 554
      StackMap locals: java.util.Map java.util.Map java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 3 /* ex */
        start local 3 // java.lang.NumberFormatException ex
         8: .line 556
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "%s is not a parsable int (base10) for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* size */
            aastore
            dup
            iconst_1
            ldc "sstable_size_in_mb"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 3 /* ex */
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.NumberFormatException ex
         9: .line 559
      StackMap locals:
      StackMap stack:
            aload 1 /* uncheckedOptions */
            ldc "sstable_size_in_mb"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 562
            aload 0 /* options */
            ldc "fanout_size"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 11
            aload 0 /* options */
            ldc "fanout_size"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 12
      StackMap locals:
      StackMap stack:
        11: bipush 10
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        12: astore 3 /* levelFanoutSize */
        start local 3 // java.lang.String levelFanoutSize
        13: .line 565
            aload 3 /* levelFanoutSize */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* fanoutSize */
        start local 4 // int fanoutSize
        14: .line 566
            iload 4 /* fanoutSize */
            iconst_1
            if_icmpge 18
        15: .line 568
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "%s must be larger than 0, but was %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "fanout_size"
            aastore
            dup
            iconst_1
            iload 4 /* fanoutSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int fanoutSize
        16: .line 571
      StackMap locals: java.util.Map java.util.Map java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 4 /* ex */
        start local 4 // java.lang.NumberFormatException ex
        17: .line 573
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "%s is not a parsable int (base10) for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* size */
            aastore
            dup
            iconst_1
            ldc "fanout_size"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 4 /* ex */
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.NumberFormatException ex
        18: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* uncheckedOptions */
            ldc "fanout_size"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 578
            aload 0 /* options */
            aload 1 /* uncheckedOptions */
            invokestatic org.apache.cassandra.db.compaction.SizeTieredCompactionStrategyOptions.validateOptions:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
            astore 1 /* uncheckedOptions */
        20: .line 580
            aload 1 /* uncheckedOptions */
            areturn
        end local 3 // java.lang.String levelFanoutSize
        end local 2 // java.lang.String size
        end local 1 // java.util.Map uncheckedOptions
        end local 0 // java.util.Map options
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   21     1  uncheckedOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4   21     2              size  Ljava/lang/String;
            5    7     3            ssSize  I
            8    9     3                ex  Ljava/lang/NumberFormatException;
           13   21     3   levelFanoutSize  Ljava/lang/String;
           14   16     4        fanoutSize  I
           17   18     4                ex  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           4     7       7  Class java.lang.NumberFormatException
          13    16      16  Class java.lang.NumberFormatException
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      options  
}
SourceFile: "LeveledCompactionStrategy.java"
NestMembers:
  org.apache.cassandra.db.compaction.LeveledCompactionStrategy$1  org.apache.cassandra.db.compaction.LeveledCompactionStrategy$2  org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner
InnerClasses:
  public ScannerList = org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList of org.apache.cassandra.db.compaction.AbstractCompactionStrategy
  public abstract Strategy = org.apache.cassandra.db.compaction.CompactionLogger$Strategy of org.apache.cassandra.db.compaction.CompactionLogger
  org.apache.cassandra.db.compaction.LeveledCompactionStrategy$1
  org.apache.cassandra.db.compaction.LeveledCompactionStrategy$2
  private LeveledScanner = org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner of org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  public CompactionCandidate = org.apache.cassandra.db.compaction.LeveledManifest$CompactionCandidate of org.apache.cassandra.db.compaction.LeveledManifest