public abstract class org.apache.cassandra.io.sstable.format.SSTableWriter extends org.apache.cassandra.io.sstable.SSTable implements org.apache.cassandra.utils.concurrent.Transactional
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.io.sstable.format.SSTableWriter
  super_class: org.apache.cassandra.io.sstable.SSTable
{
  protected long repairedAt;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected long maxDataAge;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected final long keyCount;
    descriptor: J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.io.sstable.metadata.MetadataCollector metadataCollector;
    descriptor: Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.db.RowIndexEntry$IndexSerializer rowIndexEntrySerializer;
    descriptor: Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.db.SerializationHeader header;
    descriptor: Lorg/apache/cassandra/db/SerializationHeader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy txnProxy;
    descriptor: Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableFlushObserver> observers;
    descriptor: Ljava/util/Collection;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;>;

  protected abstract org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy txnProxy();
    descriptor: ()Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void <init>(org.apache.cassandra.io.sstable.Descriptor, long, long, org.apache.cassandra.config.CFMetaData, org.apache.cassandra.io.sstable.metadata.MetadataCollector, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableFlushObserver>);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;JJLorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 2 // long keyCount
        start local 4 // long repairedAt
        start local 6 // org.apache.cassandra.config.CFMetaData metadata
        start local 7 // org.apache.cassandra.io.sstable.metadata.MetadataCollector metadataCollector
        start local 8 // org.apache.cassandra.db.SerializationHeader header
        start local 9 // java.util.Collection observers
         0: .line 83
            aload 0 /* this */
            aload 1 /* descriptor */
            aload 6 /* metadata */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.components:(Lorg/apache/cassandra/config/CFMetaData;)Ljava/util/Set;
            aload 6 /* metadata */
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getDiskOptimizationStrategy:()Lorg/apache/cassandra/io/util/DiskOptimizationStrategy;
            invokespecial org.apache.cassandra.io.sstable.SSTable.<init>:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/util/DiskOptimizationStrategy;)V
         1: .line 57
            aload 0 /* this */
            ldc -1
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.maxDataAge:J
         2: .line 62
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:()Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
         3: .line 84
            aload 0 /* this */
            lload 2 /* keyCount */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.keyCount:J
         4: .line 85
            aload 0 /* this */
            lload 4 /* repairedAt */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.repairedAt:J
         5: .line 86
            aload 0 /* this */
            aload 7 /* metadataCollector */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.metadataCollector:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
         6: .line 87
            aload 0 /* this */
            aload 8 /* header */
            ifnull 7
            aload 8 /* header */
            goto 8
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableWriter org.apache.cassandra.io.sstable.Descriptor long long org.apache.cassandra.config.CFMetaData org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.SerializationHeader java.util.Collection
      StackMap stack: org.apache.cassandra.io.sstable.format.SSTableWriter
         7: aload 6 /* metadata */
            invokestatic org.apache.cassandra.db.SerializationHeader.makeWithoutStats:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/SerializationHeader;
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableWriter org.apache.cassandra.io.sstable.Descriptor long long org.apache.cassandra.config.CFMetaData org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.SerializationHeader java.util.Collection
      StackMap stack: org.apache.cassandra.io.sstable.format.SSTableWriter org.apache.cassandra.db.SerializationHeader
         8: putfield org.apache.cassandra.io.sstable.format.SSTableWriter.header:Lorg/apache/cassandra/db/SerializationHeader;
         9: .line 88
            aload 0 /* this */
            aload 1 /* descriptor */
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
            invokevirtual org.apache.cassandra.io.sstable.format.Version.getSSTableFormat:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
            aload 6 /* metadata */
            aload 1 /* descriptor */
            getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
            aload 8 /* header */
            invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getIndexSerializer:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/format/Version;Lorg/apache/cassandra/db/SerializationHeader;)Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.rowIndexEntrySerializer:Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
        10: .line 89
            aload 0 /* this */
            aload 9 /* observers */
            ifnonnull 11
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            goto 12
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.format.SSTableWriter
        11: aload 9 /* observers */
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableWriter org.apache.cassandra.io.sstable.Descriptor long long org.apache.cassandra.config.CFMetaData org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.SerializationHeader java.util.Collection
      StackMap stack: org.apache.cassandra.io.sstable.format.SSTableWriter java.util.Collection
        12: putfield org.apache.cassandra.io.sstable.format.SSTableWriter.observers:Ljava/util/Collection;
        13: .line 90
            return
        end local 9 // java.util.Collection observers
        end local 8 // org.apache.cassandra.db.SerializationHeader header
        end local 7 // org.apache.cassandra.io.sstable.metadata.MetadataCollector metadataCollector
        end local 6 // org.apache.cassandra.config.CFMetaData metadata
        end local 4 // long repairedAt
        end local 2 // long keyCount
        end local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0   14     1         descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0   14     2           keyCount  J
            0   14     4         repairedAt  J
            0   14     6           metadata  Lorg/apache/cassandra/config/CFMetaData;
            0   14     7  metadataCollector  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0   14     8             header  Lorg/apache/cassandra/db/SerializationHeader;
            0   14     9          observers  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;>;
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;JJLorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;>;)V
    MethodParameters:
                   Name  Flags
      descriptor         
      keyCount           
      repairedAt         
      metadata           
      metadataCollector  
      header             
      observers          

  public static org.apache.cassandra.io.sstable.format.SSTableWriter create(org.apache.cassandra.io.sstable.Descriptor, java.lang.Long, java.lang.Long, org.apache.cassandra.config.CFMetaData, org.apache.cassandra.io.sstable.metadata.MetadataCollector, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.lifecycle.LifecycleNewTracker);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/Long;Ljava/lang/Long;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=9, args_size=8
        start local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 1 // java.lang.Long keyCount
        start local 2 // java.lang.Long repairedAt
        start local 3 // org.apache.cassandra.config.CFMetaData metadata
        start local 4 // org.apache.cassandra.io.sstable.metadata.MetadataCollector metadataCollector
        start local 5 // org.apache.cassandra.db.SerializationHeader header
        start local 6 // java.util.Collection indexes
        start local 7 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
         0: .line 101
            aload 0 /* descriptor */
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.getFormat:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
            invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getWriterFactory:()Lorg/apache/cassandra/io/sstable/format/SSTableWriter$Factory;
            astore 8 /* writerFactory */
        start local 8 // org.apache.cassandra.io.sstable.format.SSTableWriter$Factory writerFactory
         1: .line 102
            aload 8 /* writerFactory */
            aload 0 /* descriptor */
            aload 1 /* keyCount */
            invokevirtual java.lang.Long.longValue:()J
            aload 2 /* repairedAt */
            invokevirtual java.lang.Long.longValue:()J
            aload 3 /* metadata */
            aload 4 /* metadataCollector */
            aload 5 /* header */
            aload 0 /* descriptor */
            aload 6 /* indexes */
            aload 7 /* lifecycleNewTracker */
            invokeinterface org.apache.cassandra.db.lifecycle.LifecycleNewTracker.opType:()Lorg/apache/cassandra/db/compaction/OperationType;
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.observers:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Collection;Lorg/apache/cassandra/db/compaction/OperationType;)Ljava/util/Collection;
            aload 7 /* lifecycleNewTracker */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$Factory.open:(Lorg/apache/cassandra/io/sstable/Descriptor;JJLorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableWriter$Factory writerFactory
        end local 7 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
        end local 6 // java.util.Collection indexes
        end local 5 // org.apache.cassandra.db.SerializationHeader header
        end local 4 // org.apache.cassandra.io.sstable.metadata.MetadataCollector metadataCollector
        end local 3 // org.apache.cassandra.config.CFMetaData metadata
        end local 2 // java.lang.Long repairedAt
        end local 1 // java.lang.Long keyCount
        end local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0           descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    2     1             keyCount  Ljava/lang/Long;
            0    2     2           repairedAt  Ljava/lang/Long;
            0    2     3             metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    2     4    metadataCollector  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     5               header  Lorg/apache/cassandra/db/SerializationHeader;
            0    2     6              indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0    2     7  lifecycleNewTracker  Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;
            1    2     8        writerFactory  Lorg/apache/cassandra/io/sstable/format/SSTableWriter$Factory;
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/Long;Ljava/lang/Long;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
                     Name  Flags
      descriptor           
      keyCount             
      repairedAt           
      metadata             
      metadataCollector    
      header               
      indexes              
      lifecycleNewTracker  

  public static org.apache.cassandra.io.sstable.format.SSTableWriter create(org.apache.cassandra.io.sstable.Descriptor, long, long, int, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.lifecycle.LifecycleNewTracker);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 1 // long keyCount
        start local 3 // long repairedAt
        start local 5 // int sstableLevel
        start local 6 // org.apache.cassandra.db.SerializationHeader header
        start local 7 // java.util.Collection indexes
        start local 8 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
         0: .line 113
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* descriptor */
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Lorg/apache/cassandra/io/sstable/Descriptor;)Lorg/apache/cassandra/config/CFMetaData;
            astore 9 /* metadata */
        start local 9 // org.apache.cassandra.config.CFMetaData metadata
         1: .line 114
            aload 9 /* metadata */
            aload 0 /* descriptor */
            lload 1 /* keyCount */
            lload 3 /* repairedAt */
            iload 5 /* sstableLevel */
            aload 6 /* header */
            aload 7 /* indexes */
            aload 8 /* lifecycleNewTracker */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 9 // org.apache.cassandra.config.CFMetaData metadata
        end local 8 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
        end local 7 // java.util.Collection indexes
        end local 6 // org.apache.cassandra.db.SerializationHeader header
        end local 5 // int sstableLevel
        end local 3 // long repairedAt
        end local 1 // long keyCount
        end local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0           descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    2     1             keyCount  J
            0    2     3           repairedAt  J
            0    2     5         sstableLevel  I
            0    2     6               header  Lorg/apache/cassandra/db/SerializationHeader;
            0    2     7              indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0    2     8  lifecycleNewTracker  Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;
            1    2     9             metadata  Lorg/apache/cassandra/config/CFMetaData;
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
                     Name  Flags
      descriptor           
      keyCount             
      repairedAt           
      sstableLevel         
      header               
      indexes              
      lifecycleNewTracker  

  public static org.apache.cassandra.io.sstable.format.SSTableWriter create(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.io.sstable.Descriptor, long, long, int, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.lifecycle.LifecycleNewTracker);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=8
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
        start local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 2 // long keyCount
        start local 4 // long repairedAt
        start local 6 // int sstableLevel
        start local 7 // org.apache.cassandra.db.SerializationHeader header
        start local 8 // java.util.Collection indexes
        start local 9 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
         0: .line 126
            new org.apache.cassandra.io.sstable.metadata.MetadataCollector
            dup
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector.<init>:(Lorg/apache/cassandra/db/ClusteringComparator;)V
            iload 6 /* sstableLevel */
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.sstableLevel:(I)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            astore 10 /* collector */
        start local 10 // org.apache.cassandra.io.sstable.metadata.MetadataCollector collector
         1: .line 127
            aload 1 /* descriptor */
            lload 2 /* keyCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            lload 4 /* repairedAt */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 0 /* metadata */
            aload 10 /* collector */
            aload 7 /* header */
            aload 8 /* indexes */
            aload 9 /* lifecycleNewTracker */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/Long;Ljava/lang/Long;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 10 // org.apache.cassandra.io.sstable.metadata.MetadataCollector collector
        end local 9 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
        end local 8 // java.util.Collection indexes
        end local 7 // org.apache.cassandra.db.SerializationHeader header
        end local 6 // int sstableLevel
        end local 4 // long repairedAt
        end local 2 // long keyCount
        end local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0             metadata  Lorg/apache/cassandra/config/CFMetaData;
            0    2     1           descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    2     2             keyCount  J
            0    2     4           repairedAt  J
            0    2     6         sstableLevel  I
            0    2     7               header  Lorg/apache/cassandra/db/SerializationHeader;
            0    2     8              indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0    2     9  lifecycleNewTracker  Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;
            1    2    10            collector  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
                     Name  Flags
      metadata             
      descriptor           
      keyCount             
      repairedAt           
      sstableLevel         
      header               
      indexes              
      lifecycleNewTracker  

  public static org.apache.cassandra.io.sstable.format.SSTableWriter create(java.lang.String, long, long, int, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.lifecycle.LifecycleNewTracker);
    descriptor: (Ljava/lang/String;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // java.lang.String filename
        start local 1 // long keyCount
        start local 3 // long repairedAt
        start local 5 // int sstableLevel
        start local 6 // org.apache.cassandra.db.SerializationHeader header
        start local 7 // java.util.Collection indexes
        start local 8 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
         0: .line 138
            aload 0 /* filename */
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            lload 1 /* keyCount */
            lload 3 /* repairedAt */
            iload 5 /* sstableLevel */
            aload 6 /* header */
            aload 7 /* indexes */
            aload 8 /* lifecycleNewTracker */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 8 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
        end local 7 // java.util.Collection indexes
        end local 6 // org.apache.cassandra.db.SerializationHeader header
        end local 5 // int sstableLevel
        end local 3 // long repairedAt
        end local 1 // long keyCount
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0             filename  Ljava/lang/String;
            0    1     1             keyCount  J
            0    1     3           repairedAt  J
            0    1     5         sstableLevel  I
            0    1     6               header  Lorg/apache/cassandra/db/SerializationHeader;
            0    1     7              indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0    1     8  lifecycleNewTracker  Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;
    Signature: (Ljava/lang/String;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
                     Name  Flags
      filename             
      keyCount             
      repairedAt           
      sstableLevel         
      header               
      indexes              
      lifecycleNewTracker  

  public static org.apache.cassandra.io.sstable.format.SSTableWriter create(java.lang.String, long, long, org.apache.cassandra.db.SerializationHeader, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.lifecycle.LifecycleNewTracker);
    descriptor: (Ljava/lang/String;JJLorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=6
        start local 0 // java.lang.String filename
        start local 1 // long keyCount
        start local 3 // long repairedAt
        start local 5 // org.apache.cassandra.db.SerializationHeader header
        start local 6 // java.util.Collection indexes
        start local 7 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
         0: .line 149
            aload 0 /* filename */
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            astore 8 /* descriptor */
        start local 8 // org.apache.cassandra.io.sstable.Descriptor descriptor
         1: .line 150
            aload 8 /* descriptor */
            lload 1 /* keyCount */
            lload 3 /* repairedAt */
            iconst_0
            aload 5 /* header */
            aload 6 /* indexes */
            aload 7 /* lifecycleNewTracker */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 8 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 7 // org.apache.cassandra.db.lifecycle.LifecycleNewTracker lifecycleNewTracker
        end local 6 // java.util.Collection indexes
        end local 5 // org.apache.cassandra.db.SerializationHeader header
        end local 3 // long repairedAt
        end local 1 // long keyCount
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0             filename  Ljava/lang/String;
            0    2     1             keyCount  J
            0    2     3           repairedAt  J
            0    2     5               header  Lorg/apache/cassandra/db/SerializationHeader;
            0    2     6              indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0    2     7  lifecycleNewTracker  Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;
            1    2     8           descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
    Signature: (Ljava/lang/String;JJLorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
                     Name  Flags
      filename             
      keyCount             
      repairedAt           
      header               
      indexes              
      lifecycleNewTracker  

  private static java.util.Set<org.apache.cassandra.io.sstable.Component> components(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.apache.cassandra.config.CFMetaData metadata
         0: .line 155
            new java.util.HashSet
            dup
            bipush 6
            anewarray org.apache.cassandra.io.sstable.Component
            dup
            iconst_0
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_1
         1: .line 156
            getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_2
         2: .line 157
            getstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_3
         3: .line 158
            getstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_4
         4: .line 159
            getstatic org.apache.cassandra.io.sstable.Component.TOC:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_5
         5: .line 160
            getstatic org.apache.cassandra.io.sstable.format.big.BigFormat.latestVersion:Lorg/apache/cassandra/io/sstable/format/Version;
            invokevirtual org.apache.cassandra.io.sstable.format.Version.uncompressedChecksumType:()Lorg/apache/cassandra/utils/ChecksumType;
            invokestatic org.apache.cassandra.io.sstable.Component.digestFor:(Lorg/apache/cassandra/utils/ChecksumType;)Lorg/apache/cassandra/io/sstable/Component;
            aastore
         6: .line 155
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 1 /* components */
        start local 1 // java.util.Set components
         7: .line 162
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.bloomFilterFpChance:D
            dconst_1
            dcmpg
            ifge 9
         8: .line 163
            aload 1 /* components */
            getstatic org.apache.cassandra.io.sstable.Component.FILTER:Lorg/apache/cassandra/io/sstable/Component;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 165
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* metadata */
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.compression:Lorg/apache/cassandra/schema/CompressionParams;
            invokevirtual org.apache.cassandra.schema.CompressionParams.isEnabled:()Z
            ifeq 12
        10: .line 167
            aload 1 /* components */
            getstatic org.apache.cassandra.io.sstable.Component.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 168
            goto 13
        12: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* components */
            getstatic org.apache.cassandra.io.sstable.Component.CRC:Lorg/apache/cassandra/io/sstable/Component;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* components */
            areturn
        end local 1 // java.util.Set components
        end local 0 // org.apache.cassandra.config.CFMetaData metadata
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0    metadata  Lorg/apache/cassandra/config/CFMetaData;
            7   14     1  components  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
    Signature: (Lorg/apache/cassandra/config/CFMetaData;)Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
    MethodParameters:
          Name  Flags
      metadata  

  private static java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableFlushObserver> observers(org.apache.cassandra.io.sstable.Descriptor, java.util.Collection<org.apache.cassandra.index.Index>, org.apache.cassandra.db.compaction.OperationType);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Collection;Lorg/apache/cassandra/db/compaction/OperationType;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 1 // java.util.Collection indexes
        start local 2 // org.apache.cassandra.db.compaction.OperationType operationType
         0: .line 182
            aload 1 /* indexes */
            ifnonnull 2
         1: .line 183
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 185
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* indexes */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* observers */
        start local 3 // java.util.List observers
         3: .line 186
            aload 1 /* indexes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.apache.cassandra.io.sstable.Descriptor java.util.Collection org.apache.cassandra.db.compaction.OperationType java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.index.Index
            astore 4 /* index */
        start local 4 // org.apache.cassandra.index.Index index
         5: .line 188
            aload 4 /* index */
            aload 0 /* descriptor */
            aload 2 /* operationType */
            invokeinterface org.apache.cassandra.index.Index.getFlushObserver:(Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;
            astore 6 /* observer */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableFlushObserver observer
         6: .line 189
            aload 6 /* observer */
            ifnull 9
         7: .line 191
            aload 6 /* observer */
            invokeinterface org.apache.cassandra.io.sstable.format.SSTableFlushObserver.begin:()V
         8: .line 192
            aload 3 /* observers */
            aload 6 /* observer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableFlushObserver observer
        end local 4 // org.apache.cassandra.index.Index index
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 196
            aload 3 /* observers */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
            areturn
        end local 3 // java.util.List observers
        end local 2 // org.apache.cassandra.db.compaction.OperationType operationType
        end local 1 // java.util.Collection indexes
        end local 0 // org.apache.cassandra.io.sstable.Descriptor descriptor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0     descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0   11     1        indexes  Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
            0   11     2  operationType  Lorg/apache/cassandra/db/compaction/OperationType;
            3   11     3      observers  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;>;
            5    9     4          index  Lorg/apache/cassandra/index/Index;
            6    9     6       observer  Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;Lorg/apache/cassandra/db/compaction/OperationType;)Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;>;
    MethodParameters:
               Name  Flags
      descriptor     
      indexes        
      operationType  

  public abstract void mark();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.apache.cassandra.db.RowIndexEntry append(org.apache.cassandra.db.rows.UnfilteredRowIterator);
    descriptor: (Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      iterator  

  public abstract long getFilePointer();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract long getOnDiskFilePointer();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public long getEstimatedOnDiskBytesWritten();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 218
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getOnDiskFilePointer:()J
            lreturn
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  public abstract void resetAndTruncate();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.apache.cassandra.io.sstable.format.SSTableWriter setRepairedAt(long);
    descriptor: (J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // long repairedAt
         0: .line 225
            lload 1 /* repairedAt */
            lconst_0
            lcmp
            ifle 2
         1: .line 226
            aload 0 /* this */
            lload 1 /* repairedAt */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.repairedAt:J
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // long repairedAt
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    3     1  repairedAt  J
    MethodParameters:
            Name  Flags
      repairedAt  

  public org.apache.cassandra.io.sstable.format.SSTableWriter setMaxDataAge(long);
    descriptor: (J)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // long maxDataAge
         0: .line 232
            aload 0 /* this */
            lload 1 /* maxDataAge */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.maxDataAge:J
         1: .line 233
            aload 0 /* this */
            areturn
        end local 1 // long maxDataAge
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    2     1  maxDataAge  J
    MethodParameters:
            Name  Flags
      maxDataAge  

  public org.apache.cassandra.io.sstable.format.SSTableWriter setOpenResult(boolean);
    descriptor: (Z)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // boolean openResult
         0: .line 238
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            iload 1 /* openResult */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.openResult:Z
         1: .line 239
            aload 0 /* this */
            areturn
        end local 1 // boolean openResult
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    2     1  openResult  Z
    MethodParameters:
            Name  Flags
      openResult  

  public abstract org.apache.cassandra.io.sstable.format.SSTableReader openEarly();
    descriptor: ()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.apache.cassandra.io.sstable.format.SSTableReader openFinalEarly();
    descriptor: ()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.apache.cassandra.io.sstable.format.SSTableReader finish(long, long, boolean);
    descriptor: (JJZ)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // long repairedAt
        start local 3 // long maxDataAge
        start local 5 // boolean openResult
         0: .line 255
            lload 1 /* repairedAt */
            lconst_0
            lcmp
            ifle 2
         1: .line 256
            aload 0 /* this */
            lload 1 /* repairedAt */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.repairedAt:J
         2: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* maxDataAge */
            putfield org.apache.cassandra.io.sstable.format.SSTableWriter.maxDataAge:J
         3: .line 258
            aload 0 /* this */
            iload 5 /* openResult */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.finish:(Z)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            areturn
        end local 5 // boolean openResult
        end local 3 // long maxDataAge
        end local 1 // long repairedAt
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    4     1  repairedAt  J
            0    4     3  maxDataAge  J
            0    4     5  openResult  Z
    MethodParameters:
            Name  Flags
      repairedAt  
      maxDataAge  
      openResult  

  public org.apache.cassandra.io.sstable.format.SSTableReader finish(boolean);
    descriptor: (Z)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // boolean openResult
         0: .line 263
            aload 0 /* this */
            iload 1 /* openResult */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.setOpenResult:(Z)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            pop
         1: .line 264
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.finish:()Ljava/lang/Object;
            pop
         2: .line 265
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.observers:Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/io/sstable/format/SSTableFlushObserver.complete()V (9 itf)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         3: .line 266
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.finished:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            areturn
        end local 1 // boolean openResult
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    4     1  openResult  Z
    MethodParameters:
            Name  Flags
      openResult  

  public org.apache.cassandra.io.sstable.format.SSTableReader finished();
    descriptor: ()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.finalReader:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  public final void prepareToCommit();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 281
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.prepareToCommit:()V
         1: .line 282
            return
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  public final java.lang.Throwable commit(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // java.lang.Throwable accumulate
         0: .line 288
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 3
         1: .line 292
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.observers:Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/io/sstable/format/SSTableFlushObserver.complete()V (9 itf)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         2: .line 288
            aload 3
            areturn
         3: .line 291
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         4: .line 292
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.observers:Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/io/sstable/format/SSTableFlushObserver.complete()V (9 itf)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         5: .line 293
            aload 2
            athrow
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    6     1  accumulate  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       3  any
    MethodParameters:
            Name  Flags
      accumulate  

  public final java.lang.Throwable abort(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
        start local 1 // java.lang.Throwable accumulate
         0: .line 298
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            aload 1 /* accumulate */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            areturn
        end local 1 // java.lang.Throwable accumulate
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            0    1     1  accumulate  Ljava/lang/Throwable;
    MethodParameters:
            Name  Flags
      accumulate  

  public final void close();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 303
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.close:()V
         1: .line 304
            return
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  public final void abort();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 308
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.txnProxy:Lorg/apache/cassandra/io/sstable/format/SSTableWriter$TransactionalProxy;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.abort:()V
         1: .line 309
            return
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  protected java.util.Map<org.apache.cassandra.io.sstable.metadata.MetadataType, org.apache.cassandra.io.sstable.metadata.MetadataComponent> finalizeMetadata();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 313
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.metadataCollector:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getPartitioner:()Lorg/apache/cassandra/dht/IPartitioner;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
         1: .line 314
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.bloomFilterFpChance:D
         2: .line 315
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.repairedAt:J
         3: .line 316
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.format.SSTableWriter.header:Lorg/apache/cassandra/db/SerializationHeader;
         4: .line 313
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.finalizeMetadata:(Ljava/lang/String;DJLorg/apache/cassandra/db/SerializationHeader;)Ljava/util/Map;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    Signature: ()Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;

  protected org.apache.cassandra.io.sstable.metadata.StatsMetadata statsMetadata();
    descriptor: ()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
         0: .line 321
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.finalizeMetadata:()Ljava/util/Map;
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.metadata.StatsMetadata
            areturn
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/format/SSTableWriter;

  public static void rename(org.apache.cassandra.io.sstable.Descriptor, org.apache.cassandra.io.sstable.Descriptor, java.util.Set<org.apache.cassandra.io.sstable.Component>);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.Descriptor tmpdesc
        start local 1 // org.apache.cassandra.io.sstable.Descriptor newdesc
        start local 2 // java.util.Set components
         0: .line 326
            aload 2 /* components */
            iconst_2
            anewarray org.apache.cassandra.io.sstable.Component
            dup
            iconst_0
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            dup
            iconst_1
            getstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
            aastore
            invokestatic com.google.common.collect.Sets.newHashSet:([Ljava/lang/Object;)Ljava/util/HashSet;
            invokestatic com.google.common.collect.Sets.difference:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
            invokevirtual com.google.common.collect.Sets$SetView.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.apache.cassandra.io.sstable.Descriptor org.apache.cassandra.io.sstable.Descriptor java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Component
            astore 3 /* component */
        start local 3 // org.apache.cassandra.io.sstable.Component component
         2: .line 328
            aload 0 /* tmpdesc */
            aload 3 /* component */
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            aload 1 /* newdesc */
            aload 3 /* component */
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            invokestatic org.apache.cassandra.io.util.FileUtils.renameWithConfirm:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // org.apache.cassandra.io.sstable.Component component
         3: .line 326
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 332
            aload 0 /* tmpdesc */
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            aload 1 /* newdesc */
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            invokestatic org.apache.cassandra.io.util.FileUtils.renameWithConfirm:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 335
            aload 0 /* tmpdesc */
            getstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            aload 1 /* newdesc */
            getstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            invokestatic org.apache.cassandra.io.util.FileUtils.renameWithOutConfirm:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 336
            return
        end local 2 // java.util.Set components
        end local 1 // org.apache.cassandra.io.sstable.Descriptor newdesc
        end local 0 // org.apache.cassandra.io.sstable.Descriptor tmpdesc
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0     tmpdesc  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    7     1     newdesc  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    7     2  components  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
            2    3     3   component  Lorg/apache/cassandra/io/sstable/Component;
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;)V
    MethodParameters:
            Name  Flags
      tmpdesc     
      newdesc     
      components  
}
SourceFile: "SSTableWriter.java"
NestMembers:
  org.apache.cassandra.io.sstable.format.SSTableWriter$Factory  org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy
InnerClasses:
  public abstract SetView = com.google.common.collect.Sets$SetView of com.google.common.collect.Sets
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract IndexSerializer = org.apache.cassandra.db.RowIndexEntry$IndexSerializer of org.apache.cassandra.db.RowIndexEntry
  public abstract Factory = org.apache.cassandra.io.sstable.format.SSTableWriter$Factory of org.apache.cassandra.io.sstable.format.SSTableWriter
  protected abstract TransactionalProxy = org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy of org.apache.cassandra.io.sstable.format.SSTableWriter