public class org.apache.cassandra.tools.StandaloneSplitter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.tools.StandaloneSplitter
  super_class: java.lang.Object
{
  public static final int DEFAULT_SSTABLE_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 50

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

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

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

  private static final java.lang.String NO_SNAPSHOT_OPTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "no-snapshot"

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.tools.StandaloneSplitter this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.tools.StandaloneSplitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/tools/StandaloneSplitter;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=14, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 54
            aload 0 /* args */
            invokestatic org.apache.cassandra.tools.StandaloneSplitter$Options.parseArgs:([Ljava/lang/String;)Lorg/apache/cassandra/tools/StandaloneSplitter$Options;
            astore 1 /* options */
        start local 1 // org.apache.cassandra.tools.StandaloneSplitter$Options options
         1: .line 55
            invokestatic org.apache.cassandra.tools.Util.initDatabaseDescriptor:()V
         2: .line 60
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            iconst_0
            invokevirtual org.apache.cassandra.config.Schema.loadFromDisk:(Z)Lorg/apache/cassandra/config/Schema;
            pop
         3: .line 62
            aconst_null
            astore 2 /* ksName */
        start local 2 // java.lang.String ksName
         4: .line 63
            aconst_null
            astore 3 /* cfName */
        start local 3 // java.lang.String cfName
         5: .line 64
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* parsedFilenames */
        start local 4 // java.util.Map parsedFilenames
         6: .line 65
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.filenames:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 39
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* filename */
        start local 5 // java.lang.String filename
         8: .line 67
            new java.io.File
            dup
            aload 5 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* file */
        start local 7 // java.io.File file
         9: .line 68
            aload 7 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 12
        10: .line 69
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Skipping inexisting file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 70
            goto 39
        12: .line 73
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map java.lang.String java.util.Iterator java.io.File
      StackMap stack:
            aload 7 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            aload 7 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokestatic org.apache.cassandra.io.sstable.SSTable.tryComponentFromFilename:(Ljava/io/File;Ljava/lang/String;)Lorg/apache/cassandra/utils/Pair;
            astore 8 /* pair */
        start local 8 // org.apache.cassandra.utils.Pair pair
        13: .line 74
            aload 8 /* pair */
            ifnonnull 16
        14: .line 75
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Skipping non sstable file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 76
            goto 39
        16: .line 78
      StackMap locals: org.apache.cassandra.utils.Pair
      StackMap stack:
            aload 8 /* pair */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Descriptor
            astore 9 /* desc */
        start local 9 // org.apache.cassandra.io.sstable.Descriptor desc
        17: .line 80
            aload 2 /* ksName */
            ifnonnull 19
        18: .line 81
            aload 9 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.ksname:Ljava/lang/String;
            astore 2 /* ksName */
            goto 21
        19: .line 82
      StackMap locals: org.apache.cassandra.io.sstable.Descriptor
      StackMap stack:
            aload 2 /* ksName */
            aload 9 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.ksname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 83
            new java.lang.IllegalArgumentException
            dup
            ldc "All sstables must be part of the same keyspace"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 85
      StackMap locals:
      StackMap stack:
            aload 3 /* cfName */
            ifnonnull 23
        22: .line 86
            aload 9 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.cfname:Ljava/lang/String;
            astore 3 /* cfName */
            goto 25
        23: .line 87
      StackMap locals:
      StackMap stack:
            aload 3 /* cfName */
            aload 9 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.cfname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 88
            new java.lang.IllegalArgumentException
            dup
            ldc "All sstables must be part of the same table"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 90
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            iconst_5
            anewarray org.apache.cassandra.io.sstable.Component
            dup
            iconst_0
        26: .line 91
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_1
        27: .line 92
            getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_2
        28: .line 93
            getstatic org.apache.cassandra.io.sstable.Component.FILTER:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_3
        29: .line 94
            getstatic org.apache.cassandra.io.sstable.Component.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_4
        30: .line 95
            getstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
            aastore
        31: .line 90
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 10 /* components */
        start local 10 // java.util.Set components
        32: .line 98
            aload 10 /* components */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* iter */
        start local 11 // java.util.Iterator iter
        33: .line 99
            goto 37
        34: .line 100
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Component
            astore 12 /* component */
        start local 12 // org.apache.cassandra.io.sstable.Component component
        35: .line 101
            new java.io.File
            dup
            aload 9 /* desc */
            aload 12 /* component */
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifne 37
        36: .line 102
            aload 11 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 12 // org.apache.cassandra.io.sstable.Component component
        37: .line 99
      StackMap locals:
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        38: .line 104
            aload 4 /* parsedFilenames */
            aload 9 /* desc */
            aload 10 /* components */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.util.Iterator iter
        end local 10 // java.util.Set components
        end local 9 // org.apache.cassandra.io.sstable.Descriptor desc
        end local 8 // org.apache.cassandra.utils.Pair pair
        end local 7 // java.io.File file
        end local 5 // java.lang.String filename
        39: .line 65
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        40: .line 107
            aload 2 /* ksName */
            ifnull 41
            aload 3 /* cfName */
            ifnonnull 43
        41: .line 109
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "No valid sstables to split"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 110
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        43: .line 114
      StackMap locals:
      StackMap stack:
            aload 2 /* ksName */
            invokestatic org.apache.cassandra.db.Keyspace.openWithoutSSTables:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            astore 5 /* keyspace */
        start local 5 // org.apache.cassandra.db.Keyspace keyspace
        44: .line 115
            aload 5 /* keyspace */
            aload 3 /* cfName */
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 6 /* cfs */
        start local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        45: .line 116
            new java.lang.StringBuilder
            dup
            ldc "pre-split-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* snapshotName */
        start local 7 // java.lang.String snapshotName
        46: .line 118
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* sstables */
        start local 8 // java.util.List sstables
        47: .line 119
            aload 4 /* parsedFilenames */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 65
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        48: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* fn */
        start local 9 // java.util.Map$Entry fn
        49: .line 123
            aload 9 /* fn */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Descriptor
            aload 9 /* fn */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            aload 6 /* cfs */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.openNoValidation:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 11 /* sstable */
        start local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        50: .line 124
            aload 11 /* sstable */
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.sizeInMB:I
            invokestatic org.apache.cassandra.tools.StandaloneSplitter.isSSTableLargerEnough:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;I)Z
            ifne 55
        51: .line 125
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Skipping %s: it's size (%.3f MB) is less than the split size (%d MB)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        52: .line 126
            aload 11 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getFilename:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 11 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.onDiskLength:()J
            l2d
            dconst_1
            dmul
            ldc 1024.0
            ddiv
            ldc 1024.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.sizeInMB:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        53: .line 125
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        54: .line 127
            goto 65
        55: .line 129
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List java.util.Map$Entry java.util.Iterator org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            aload 8 /* sstables */
            aload 11 /* sstable */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 131
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.snapshot:Z
            ifeq 65
        57: .line 132
            aload 11 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            aload 7 /* snapshotName */
            invokestatic org.apache.cassandra.db.Directories.getSnapshotDirectory:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/String;)Ljava/io/File;
            astore 12 /* snapshotDirectory */
        start local 12 // java.io.File snapshotDirectory
        58: .line 133
            aload 11 /* sstable */
            aload 12 /* snapshotDirectory */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.createLinks:(Ljava/lang/String;)V
        end local 12 // java.io.File snapshotDirectory
        end local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        59: .line 136
            goto 65
        60: .line 137
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List java.util.Map$Entry java.util.Iterator
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        61: .line 139
            aload 11 /* e */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        62: .line 140
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error Loading %s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* fn */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 11 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        63: .line 141
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.debug:Z
            ifeq 65
        64: .line 142
            aload 11 /* e */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        end local 11 // java.lang.Exception e
        end local 9 // java.util.Map$Entry fn
        65: .line 119
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        66: .line 145
            aload 8 /* sstables */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 69
        67: .line 146
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "No sstables needed splitting."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        68: .line 147
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        69: .line 149
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List
      StackMap stack:
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.snapshot:Z
            ifeq 71
        70: .line 150
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Pre-split sstables snapshotted into snapshot %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* snapshotName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        71: .line 152
      StackMap locals:
      StackMap stack:
            aload 8 /* sstables */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 87
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        72: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 9 /* sstable */
        start local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        73: .line 154
            aconst_null
            astore 11
            aconst_null
            astore 12
        74: getstatic org.apache.cassandra.db.compaction.OperationType.UNKNOWN:Lorg/apache/cassandra/db/compaction/OperationType;
            aload 9 /* sstable */
            invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.offline:(Lorg/apache/cassandra/db/compaction/OperationType;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 13 /* transaction */
        start local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
        75: .line 156
            new org.apache.cassandra.db.compaction.SSTableSplitter
            dup
            aload 6 /* cfs */
            aload 13 /* transaction */
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.sizeInMB:I
            invokespecial org.apache.cassandra.db.compaction.SSTableSplitter.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;I)V
            invokevirtual org.apache.cassandra.db.compaction.SSTableSplitter.split:()V
        76: .line 157
            aload 13 /* transaction */
            ifnull 87
            aload 13 /* transaction */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
            goto 87
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack: java.lang.Throwable
        77: astore 11
            aload 13 /* transaction */
            ifnull 78
            aload 13 /* transaction */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        end local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
      StackMap locals:
      StackMap stack:
        78: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        79: astore 12
            aload 11
            ifnonnull 80
            aload 12
            astore 11
            goto 81
      StackMap locals:
      StackMap stack:
        80: aload 11
            aload 12
            if_acmpeq 81
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        81: aload 11
            athrow
        82: .line 158
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        83: .line 160
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error splitting %s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* sstable */
            aastore
            dup
            iconst_1
            aload 11 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        84: .line 161
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.debug:Z
            ifeq 86
        85: .line 162
            aload 11 /* e */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        86: .line 164
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 9 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
            invokevirtual org.apache.cassandra.utils.concurrent.Ref.release:()V
        end local 11 // java.lang.Exception e
        end local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        87: .line 152
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options java.lang.String java.lang.String java.util.Map org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 72
        88: .line 167
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            ldc 5
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.finishCompactionsAndShutdown:(JLjava/util/concurrent/TimeUnit;)V
        89: .line 168
            invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.waitForDeletions:()V
        90: .line 169
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        end local 8 // java.util.List sstables
        end local 7 // java.lang.String snapshotName
        end local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 5 // org.apache.cassandra.db.Keyspace keyspace
        end local 4 // java.util.Map parsedFilenames
        end local 3 // java.lang.String cfName
        end local 2 // java.lang.String ksName
        91: .line 170
            goto 97
        92: .line 171
      StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneSplitter$Options
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        93: .line 173
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        94: .line 174
            aload 1 /* options */
            getfield org.apache.cassandra.tools.StandaloneSplitter$Options.debug:Z
            ifeq 96
        95: .line 175
            aload 2 /* e */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        96: .line 176
      StackMap locals: java.lang.Exception
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 2 // java.lang.Exception e
        97: .line 178
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.tools.StandaloneSplitter$Options options
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   98     0               args  [Ljava/lang/String;
            1   98     1            options  Lorg/apache/cassandra/tools/StandaloneSplitter$Options;
            4   91     2             ksName  Ljava/lang/String;
            5   91     3             cfName  Ljava/lang/String;
            6   91     4    parsedFilenames  Ljava/util/Map<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;>;
            8   39     5           filename  Ljava/lang/String;
            9   39     7               file  Ljava/io/File;
           13   39     8               pair  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/io/sstable/Component;>;
           17   39     9               desc  Lorg/apache/cassandra/io/sstable/Descriptor;
           32   39    10         components  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
           33   39    11               iter  Ljava/util/Iterator<Lorg/apache/cassandra/io/sstable/Component;>;
           35   37    12          component  Lorg/apache/cassandra/io/sstable/Component;
           44   91     5           keyspace  Lorg/apache/cassandra/db/Keyspace;
           45   91     6                cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           46   91     7       snapshotName  Ljava/lang/String;
           47   91     8           sstables  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           49   65     9                 fn  Ljava/util/Map$Entry<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;>;
           50   59    11            sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           58   59    12  snapshotDirectory  Ljava/io/File;
           61   65    11                  e  Ljava/lang/Exception;
           73   87     9            sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           75   78    13        transaction  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
           83   87    11                  e  Ljava/lang/Exception;
           93   97     2                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          49    54      60  Class java.lang.Exception
          55    59      60  Class java.lang.Exception
          75    76      77  any
          74    79      79  any
          73    82      82  Class java.lang.Exception
           2    91      92  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private static boolean isSSTableLargerEnough(org.apache.cassandra.io.sstable.format.SSTableReader, int);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 1 // int sizeInMB
         0: .line 184
            aload 0 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.onDiskLength:()J
            iload 1 /* sizeInMB */
            i2l
            ldc 1024
            lmul
            ldc 1024
            lmul
            lcmp
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int sizeInMB
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0   sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0    2     1  sizeInMB  I
    MethodParameters:
          Name  Flags
      sstable   
      sizeInMB  
}
SourceFile: "StandaloneSplitter.java"
NestMembers:
  org.apache.cassandra.tools.StandaloneSplitter$Options
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private Options = org.apache.cassandra.tools.StandaloneSplitter$Options of org.apache.cassandra.tools.StandaloneSplitter