public class org.apache.cassandra.io.sstable.metadata.MetadataCollector implements org.apache.cassandra.db.partitions.PartitionStatisticsCollector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.io.sstable.metadata.MetadataCollector
  super_class: java.lang.Object
{
  public static final double NO_COMPRESSION_RATIO;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1.0

  private static final java.nio.ByteBuffer[] EMPTY_CLUSTERING;
    descriptor: [Ljava/nio/ByteBuffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected org.apache.cassandra.utils.EstimatedHistogram estimatedPartitionSize;
    descriptor: Lorg/apache/cassandra/utils/EstimatedHistogram;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.utils.EstimatedHistogram estimatedCellPerPartitionCount;
    descriptor: Lorg/apache/cassandra/utils/EstimatedHistogram;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition> commitLogIntervals;
    descriptor: Lorg/apache/cassandra/db/commitlog/IntervalSet;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;

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

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

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

  protected double compressionRatio;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder estimatedTombstoneDropTime;
    descriptor: Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
    flags: (0x0004) ACC_PROTECTED

  protected int sstableLevel;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private org.apache.cassandra.db.ClusteringPrefix minClustering;
    descriptor: Lorg/apache/cassandra/db/ClusteringPrefix;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.cassandra.db.ClusteringPrefix maxClustering;
    descriptor: Lorg/apache/cassandra/db/ClusteringPrefix;
    flags: (0x0002) ACC_PRIVATE

  protected boolean hasLegacyCounterShards;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

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

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

  protected com.clearspring.analytics.stream.cardinality.ICardinality cardinality;
    descriptor: Lcom/clearspring/analytics/stream/cardinality/ICardinality;
    flags: (0x0004) ACC_PROTECTED

  private final org.apache.cassandra.db.ClusteringComparator comparator;
    descriptor: Lorg/apache/cassandra/db/ClusteringComparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            iconst_0
            anewarray java.nio.ByteBuffer
            putstatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.EMPTY_CLUSTERING:[Ljava/nio/ByteBuffer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.apache.cassandra.utils.EstimatedHistogram defaultCellPerPartitionCountHistogram();
    descriptor: ()Lorg/apache/cassandra/utils/EstimatedHistogram;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 55
            new org.apache.cassandra.utils.EstimatedHistogram
            dup
            bipush 114
            invokespecial org.apache.cassandra.utils.EstimatedHistogram.<init>:(I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.apache.cassandra.utils.EstimatedHistogram defaultPartitionSizeHistogram();
    descriptor: ()Lorg/apache/cassandra/utils/EstimatedHistogram;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 61
            new org.apache.cassandra.utils.EstimatedHistogram
            dup
            sipush 150
            invokespecial org.apache.cassandra.utils.EstimatedHistogram.<init>:(I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder defaultTombstoneDropTimeHistogramBuilder();
    descriptor: ()Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 66
            new org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder
            dup
            bipush 100
            ldc 100000
            getstatic org.apache.cassandra.io.sstable.SSTable.TOMBSTONE_HISTOGRAM_TTL_ROUND_SECONDS:I
            invokespecial org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder.<init>:(III)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.cassandra.io.sstable.metadata.StatsMetadata defaultStatsMetadata();
    descriptor: ()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=26, locals=0, args_size=0
         0: .line 71
            new org.apache.cassandra.io.sstable.metadata.StatsMetadata
            dup
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultPartitionSizeHistogram:()Lorg/apache/cassandra/utils/EstimatedHistogram;
         1: .line 72
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultCellPerPartitionCountHistogram:()Lorg/apache/cassandra/utils/EstimatedHistogram;
         2: .line 73
            invokestatic org.apache.cassandra.db.commitlog.IntervalSet.empty:()Lorg/apache/cassandra/db/commitlog/IntervalSet;
         3: .line 74
            ldc -9223372036854775808
         4: .line 75
            ldc 9223372036854775807
         5: .line 76
            ldc 2147483647
         6: .line 77
            ldc 2147483647
         7: .line 78
            iconst_0
         8: .line 79
            ldc 2147483647
         9: .line 80
            ldc -1.0
        10: .line 81
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultTombstoneDropTimeHistogramBuilder:()Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder.build:()Lorg/apache/cassandra/utils/StreamingHistogram;
        11: .line 82
            iconst_0
        12: .line 83
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        13: .line 84
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        14: .line 85
            iconst_1
        15: .line 86
            lconst_0
        16: .line 87
            ldc -1
        17: .line 88
            ldc -1
        18: .line 71
            invokespecial org.apache.cassandra.io.sstable.metadata.StatsMetadata.<init>:(Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/db/commitlog/IntervalSet;JJIIIIDLorg/apache/cassandra/utils/StreamingHistogram;ILjava/util/List;Ljava/util/List;ZJJJ)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.ClusteringComparator);
    descriptor: (Lorg/apache/cassandra/db/ClusteringComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.ClusteringComparator comparator
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultPartitionSizeHistogram:()Lorg/apache/cassandra/utils/EstimatedHistogram;
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedPartitionSize:Lorg/apache/cassandra/utils/EstimatedHistogram;
         2: .line 93
            aload 0 /* this */
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultCellPerPartitionCountHistogram:()Lorg/apache/cassandra/utils/EstimatedHistogram;
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedCellPerPartitionCount:Lorg/apache/cassandra/utils/EstimatedHistogram;
         3: .line 94
            aload 0 /* this */
            invokestatic org.apache.cassandra.db.commitlog.IntervalSet.empty:()Lorg/apache/cassandra/db/commitlog/IntervalSet;
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
         4: .line 95
            aload 0 /* this */
            new org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker
            dup
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker.<init>:()V
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.timestampTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxLongTracker;
         5: .line 96
            aload 0 /* this */
            new org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker
            dup
            ldc 2147483647
            ldc 2147483647
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.<init>:(II)V
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.localDeletionTimeTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
         6: .line 97
            aload 0 /* this */
            new org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker
            dup
            iconst_0
            iconst_0
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.<init>:(II)V
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.ttlTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
         7: .line 98
            aload 0 /* this */
            ldc -1.0
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.compressionRatio:D
         8: .line 99
            aload 0 /* this */
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultTombstoneDropTimeHistogramBuilder:()Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedTombstoneDropTime:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
         9: .line 101
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
        10: .line 102
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
        11: .line 103
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.hasLegacyCounterShards:Z
        12: .line 113
            aload 0 /* this */
            new com.clearspring.analytics.stream.cardinality.HyperLogLogPlus
            dup
            bipush 13
            bipush 25
            invokespecial com.clearspring.analytics.stream.cardinality.HyperLogLogPlus.<init>:(II)V
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.cardinality:Lcom/clearspring/analytics/stream/cardinality/ICardinality;
        13: .line 118
            aload 0 /* this */
            aload 1 /* comparator */
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
        14: .line 120
            return
        end local 1 // org.apache.cassandra.db.ClusteringComparator comparator
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0   15     1  comparator  Lorg/apache/cassandra/db/ClusteringComparator;
    MethodParameters:
            Name  Flags
      comparator  

  public void <init>(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.ClusteringComparator, );
    descriptor: (Ljava/lang/Iterable;Lorg/apache/cassandra/db/ClusteringComparator;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // java.lang.Iterable sstables
        start local 2 // org.apache.cassandra.db.ClusteringComparator comparator
        start local 3 // int level
         0: .line 124
            aload 0 /* this */
            aload 2 /* comparator */
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector.<init>:(Lorg/apache/cassandra/db/ClusteringComparator;)V
         1: .line 126
            new org.apache.cassandra.db.commitlog.IntervalSet$Builder
            dup
            invokespecial org.apache.cassandra.db.commitlog.IntervalSet$Builder.<init>:()V
            astore 4 /* intervals */
        start local 4 // org.apache.cassandra.db.commitlog.IntervalSet$Builder intervals
         2: .line 127
            aload 1 /* sstables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: org.apache.cassandra.io.sstable.metadata.MetadataCollector java.lang.Iterable org.apache.cassandra.db.ClusteringComparator int org.apache.cassandra.db.commitlog.IntervalSet$Builder top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 5 /* sstable */
        start local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 129
            aload 4 /* intervals */
            aload 5 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet$Builder.addAll:(Lorg/apache/cassandra/db/commitlog/IntervalSet;)V
        end local 5 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         5: .line 127
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 132
            aload 0 /* this */
            aload 4 /* intervals */
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet$Builder.build:()Lorg/apache/cassandra/db/commitlog/IntervalSet;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.commitLogIntervals:(Lorg/apache/cassandra/db/commitlog/IntervalSet;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            pop
         7: .line 133
            aload 0 /* this */
            iload 3 /* level */
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.sstableLevel:(I)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            pop
         8: .line 134
            return
        end local 4 // org.apache.cassandra.db.commitlog.IntervalSet$Builder intervals
        end local 3 // int level
        end local 2 // org.apache.cassandra.db.ClusteringComparator comparator
        end local 1 // java.lang.Iterable sstables
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    9     1    sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    9     2  comparator  Lorg/apache/cassandra/db/ClusteringComparator;
            0    9     3       level  I
            2    9     4   intervals  Lorg/apache/cassandra/db/commitlog/IntervalSet$Builder<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
            4    5     5     sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/ClusteringComparator;I)V
    MethodParameters:
            Name  Flags
      sstables    
      comparator  
      level       

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector addKey(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // java.nio.ByteBuffer key
         0: .line 138
            aload 1 /* key */
            aload 1 /* key */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 1 /* key */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            lconst_0
            invokestatic org.apache.cassandra.utils.MurmurHash.hash2_64:(Ljava/nio/ByteBuffer;IIJ)J
            lstore 2 /* hashed */
        start local 2 // long hashed
         1: .line 139
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.cardinality:Lcom/clearspring/analytics/stream/cardinality/ICardinality;
            lload 2 /* hashed */
            invokeinterface com.clearspring.analytics.stream.cardinality.ICardinality.offerHashed:(J)Z
            pop
         2: .line 140
            aload 0 /* this */
            areturn
        end local 2 // long hashed
        end local 1 // java.nio.ByteBuffer key
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    3     1     key  Ljava/nio/ByteBuffer;
            1    3     2  hashed  J
    MethodParameters:
      Name  Flags
      key   

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector addPartitionSizeInBytes(long);
    descriptor: (J)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // long partitionSize
         0: .line 145
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedPartitionSize:Lorg/apache/cassandra/utils/EstimatedHistogram;
            lload 1 /* partitionSize */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram.add:(J)V
         1: .line 146
            aload 0 /* this */
            areturn
        end local 1 // long partitionSize
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  partitionSize  J
    MethodParameters:
               Name  Flags
      partitionSize  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector addCellPerPartitionCount(long);
    descriptor: (J)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // long cellCount
         0: .line 151
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedCellPerPartitionCount:Lorg/apache/cassandra/utils/EstimatedHistogram;
            lload 1 /* cellCount */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram.add:(J)V
         1: .line 152
            aload 0 /* this */
            areturn
        end local 1 // long cellCount
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  cellCount  J
    MethodParameters:
           Name  Flags
      cellCount  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector mergeTombstoneHistogram(org.apache.cassandra.utils.StreamingHistogram);
    descriptor: (Lorg/apache/cassandra/utils/StreamingHistogram;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.utils.StreamingHistogram histogram
         0: .line 157
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedTombstoneDropTime:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
            aload 1 /* histogram */
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder.merge:(Lorg/apache/cassandra/utils/StreamingHistogram;)V
         1: .line 158
            aload 0 /* this */
            areturn
        end local 1 // org.apache.cassandra.utils.StreamingHistogram histogram
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  histogram  Lorg/apache/cassandra/utils/StreamingHistogram;
    MethodParameters:
           Name  Flags
      histogram  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector addCompressionRatio(long, long);
    descriptor: (JJ)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // long compressed
        start local 3 // long uncompressed
         0: .line 167
            aload 0 /* this */
            lload 1 /* compressed */
            l2d
            lload 3 /* uncompressed */
            l2d
            ddiv
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.compressionRatio:D
         1: .line 168
            aload 0 /* this */
            areturn
        end local 3 // long uncompressed
        end local 1 // long compressed
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1    compressed  J
            0    2     3  uncompressed  J
    MethodParameters:
              Name  Flags
      compressed    
      uncompressed  

  public void update(org.apache.cassandra.db.LivenessInfo);
    descriptor: (Lorg/apache/cassandra/db/LivenessInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.LivenessInfo newInfo
         0: .line 173
            aload 1 /* newInfo */
            invokevirtual org.apache.cassandra.db.LivenessInfo.isEmpty:()Z
            ifeq 2
         1: .line 174
            return
         2: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual org.apache.cassandra.db.LivenessInfo.timestamp:()J
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateTimestamp:(J)V
         3: .line 177
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual org.apache.cassandra.db.LivenessInfo.ttl:()I
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateTTL:(I)V
         4: .line 178
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual org.apache.cassandra.db.LivenessInfo.localExpirationTime:()I
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateLocalDeletionTime:(I)V
         5: .line 179
            return
        end local 1 // org.apache.cassandra.db.LivenessInfo newInfo
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    6     1  newInfo  Lorg/apache/cassandra/db/LivenessInfo;
    MethodParameters:
         Name  Flags
      newInfo  

  public void update(org.apache.cassandra.db.rows.Cell);
    descriptor: (Lorg/apache/cassandra/db/rows/Cell;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.rows.Cell cell
         0: .line 183
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.timestamp:()J
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateTimestamp:(J)V
         1: .line 184
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.ttl:()I
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateTTL:(I)V
         2: .line 185
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual org.apache.cassandra.db.rows.Cell.localDeletionTime:()I
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateLocalDeletionTime:(I)V
         3: .line 186
            return
        end local 1 // org.apache.cassandra.db.rows.Cell cell
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    4     1  cell  Lorg/apache/cassandra/db/rows/Cell;
    MethodParameters:
      Name  Flags
      cell  

  public void update(org.apache.cassandra.db.DeletionTime);
    descriptor: (Lorg/apache/cassandra/db/DeletionTime;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.DeletionTime dt
         0: .line 190
            aload 1 /* dt */
            invokevirtual org.apache.cassandra.db.DeletionTime.isLive:()Z
            ifne 3
         1: .line 192
            aload 0 /* this */
            aload 1 /* dt */
            invokevirtual org.apache.cassandra.db.DeletionTime.markedForDeleteAt:()J
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateTimestamp:(J)V
         2: .line 193
            aload 0 /* this */
            aload 1 /* dt */
            invokevirtual org.apache.cassandra.db.DeletionTime.localDeletionTime:()I
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector.updateLocalDeletionTime:(I)V
         3: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.db.DeletionTime dt
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    4     1    dt  Lorg/apache/cassandra/db/DeletionTime;
    MethodParameters:
      Name  Flags
      dt    

  public void updateColumnSetPerRow(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // long columnSetInRow
         0: .line 199
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalColumnsSet:J
            lload 1 /* columnSetInRow */
            ladd
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalColumnsSet:J
         1: .line 200
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalRows:J
            lconst_1
            ladd
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalRows:J
         2: .line 201
            return
        end local 1 // long columnSetInRow
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    3     1  columnSetInRow  J
    MethodParameters:
                Name  Flags
      columnSetInRow  

  private void updateTimestamp(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // long newTimestamp
         0: .line 205
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.timestampTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxLongTracker;
            lload 1 /* newTimestamp */
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker.update:(J)V
         1: .line 206
            return
        end local 1 // long newTimestamp
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  newTimestamp  J
    MethodParameters:
              Name  Flags
      newTimestamp  

  private void updateLocalDeletionTime(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // int newLocalDeletionTime
         0: .line 210
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.localDeletionTimeTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            iload 1 /* newLocalDeletionTime */
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.update:(I)V
         1: .line 211
            iload 1 /* newLocalDeletionTime */
            ldc 2147483647
            if_icmpeq 3
         2: .line 212
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedTombstoneDropTime:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
            iload 1 /* newLocalDeletionTime */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder.update:(Ljava/lang/Number;)V
         3: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int newLocalDeletionTime
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    4     1  newLocalDeletionTime  I
    MethodParameters:
                      Name  Flags
      newLocalDeletionTime  

  private void updateTTL(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // int newTTL
         0: .line 217
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.ttlTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            iload 1 /* newTTL */
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.update:(I)V
         1: .line 218
            return
        end local 1 // int newTTL
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  newTTL  I
    MethodParameters:
        Name  Flags
      newTTL  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector commitLogIntervals(org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition>);
    descriptor: (Lorg/apache/cassandra/db/commitlog/IntervalSet;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
         0: .line 222
            aload 0 /* this */
            aload 1 /* commitLogIntervals */
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
         1: .line 223
            aload 0 /* this */
            areturn
        end local 1 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  commitLogIntervals  Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
    Signature: (Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    MethodParameters:
                    Name  Flags
      commitLogIntervals  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector sstableLevel(int);
    descriptor: (I)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // int sstableLevel
         0: .line 228
            aload 0 /* this */
            iload 1 /* sstableLevel */
            putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.sstableLevel:I
         1: .line 229
            aload 0 /* this */
            areturn
        end local 1 // int sstableLevel
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    2     1  sstableLevel  I
    MethodParameters:
              Name  Flags
      sstableLevel  

  public org.apache.cassandra.io.sstable.metadata.MetadataCollector updateClusteringValues(org.apache.cassandra.db.ClusteringPrefix);
    descriptor: (Lorg/apache/cassandra/db/ClusteringPrefix;)Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // org.apache.cassandra.db.ClusteringPrefix clustering
         0: .line 234
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            aload 1 /* clustering */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
            ifge 2
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector
         1: aload 1 /* clustering */
            goto 3
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector
         2: aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
      StackMap locals: org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.ClusteringPrefix
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.ClusteringPrefix
         3: putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
         4: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnull 5
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            aload 1 /* clustering */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
            ifle 6
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector
         5: aload 1 /* clustering */
            goto 7
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector
         6: aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
      StackMap locals: org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.ClusteringPrefix
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector org.apache.cassandra.db.ClusteringPrefix
         7: putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
         8: .line 236
            aload 0 /* this */
            areturn
        end local 1 // org.apache.cassandra.db.ClusteringPrefix clustering
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    9     1  clustering  Lorg/apache/cassandra/db/ClusteringPrefix;
    MethodParameters:
            Name  Flags
      clustering  

  private static java.nio.ByteBuffer maybeMinimize(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer buffer
         0: .line 243
            aload 0 /* buffer */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* buffer */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.minimalBufferFor:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
         2: areturn
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  private static java.nio.ByteBuffer min(java.nio.ByteBuffer, java.nio.ByteBuffer, org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.nio.ByteBuffer b1
        start local 1 // java.nio.ByteBuffer b2
        start local 2 // org.apache.cassandra.db.marshal.AbstractType comparator
         0: .line 248
            aload 0 /* b1 */
            ifnonnull 2
         1: .line 249
            aload 1 /* b2 */
            areturn
         2: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* b2 */
            ifnonnull 4
         3: .line 251
            aload 0 /* b1 */
            areturn
         4: .line 253
      StackMap locals:
      StackMap stack:
            aload 2 /* comparator */
            aload 0 /* b1 */
            aload 1 /* b2 */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.compare:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            iflt 6
         5: .line 254
            aload 1 /* b2 */
            areturn
         6: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* b1 */
            areturn
        end local 2 // org.apache.cassandra.db.marshal.AbstractType comparator
        end local 1 // java.nio.ByteBuffer b2
        end local 0 // java.nio.ByteBuffer b1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0          b1  Ljava/nio/ByteBuffer;
            0    7     1          b2  Ljava/nio/ByteBuffer;
            0    7     2  comparator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType<*>;)Ljava/nio/ByteBuffer;
    MethodParameters:
            Name  Flags
      b1          
      b2          
      comparator  

  private static java.nio.ByteBuffer max(java.nio.ByteBuffer, java.nio.ByteBuffer, org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.nio.ByteBuffer b1
        start local 1 // java.nio.ByteBuffer b2
        start local 2 // org.apache.cassandra.db.marshal.AbstractType comparator
         0: .line 260
            aload 0 /* b1 */
            ifnonnull 2
         1: .line 261
            aload 1 /* b2 */
            areturn
         2: .line 262
      StackMap locals:
      StackMap stack:
            aload 1 /* b2 */
            ifnonnull 4
         3: .line 263
            aload 0 /* b1 */
            areturn
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* comparator */
            aload 0 /* b1 */
            aload 1 /* b2 */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.compare:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            iflt 6
         5: .line 266
            aload 0 /* b1 */
            areturn
         6: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* b2 */
            areturn
        end local 2 // org.apache.cassandra.db.marshal.AbstractType comparator
        end local 1 // java.nio.ByteBuffer b2
        end local 0 // java.nio.ByteBuffer b1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0          b1  Ljava/nio/ByteBuffer;
            0    7     1          b2  Ljava/nio/ByteBuffer;
            0    7     2  comparator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType<*>;)Ljava/nio/ByteBuffer;
    MethodParameters:
            Name  Flags
      b1          
      b2          
      comparator  

  public void updateHasLegacyCounterShards(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // boolean hasLegacyCounterShards
         0: .line 272
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.hasLegacyCounterShards:Z
            ifne 1
            iload 1 /* hasLegacyCounterShards */
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector
         1: iconst_1
      StackMap locals: org.apache.cassandra.io.sstable.metadata.MetadataCollector int
      StackMap stack: org.apache.cassandra.io.sstable.metadata.MetadataCollector int
         2: putfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.hasLegacyCounterShards:Z
         3: .line 273
            return
        end local 1 // boolean hasLegacyCounterShards
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0    4     1  hasLegacyCounterShards  Z
    MethodParameters:
                        Name  Flags
      hasLegacyCounterShards  

  public java.util.Map<org.apache.cassandra.io.sstable.metadata.MetadataType, org.apache.cassandra.io.sstable.metadata.MetadataComponent> finalizeMetadata(java.lang.String, double, long, org.apache.cassandra.db.SerializationHeader);
    descriptor: (Ljava/lang/String;DJLorg/apache/cassandra/db/SerializationHeader;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=28, locals=10, args_size=5
        start local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
        start local 1 // java.lang.String partitioner
        start local 2 // double bloomFilterFPChance
        start local 4 // long repairedAt
        start local 6 // org.apache.cassandra.db.SerializationHeader header
         0: .line 277
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnonnull 1
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnull 2
         1: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
            ifge 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
         3: .line 277
      StackMap locals:
      StackMap stack: int
            invokestatic com.google.common.base.Preconditions.checkState:(Z)V
         4: .line 279
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnull 5
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.minClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            invokeinterface org.apache.cassandra.db.ClusteringPrefix.getRawValues:()[Ljava/nio/ByteBuffer;
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.EMPTY_CLUSTERING:[Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer[]
         6: astore 7 /* minValues */
        start local 7 // java.nio.ByteBuffer[] minValues
         7: .line 280
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            ifnull 8
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.maxClustering:Lorg/apache/cassandra/db/ClusteringPrefix;
            invokeinterface org.apache.cassandra.db.ClusteringPrefix.getRawValues:()[Ljava/nio/ByteBuffer;
            goto 9
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
         8: getstatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.EMPTY_CLUSTERING:[Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer[]
         9: astore 8 /* maxValues */
        start local 8 // java.nio.ByteBuffer[] maxValues
        10: .line 281
            new java.util.EnumMap
            dup
            ldc Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            astore 9 /* components */
        start local 9 // java.util.Map components
        11: .line 282
            aload 9 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.VALIDATION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            new org.apache.cassandra.io.sstable.metadata.ValidationMetadata
            dup
            aload 1 /* partitioner */
            dload 2 /* bloomFilterFPChance */
            invokespecial org.apache.cassandra.io.sstable.metadata.ValidationMetadata.<init>:(Ljava/lang/String;D)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 283
            aload 9 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            new org.apache.cassandra.io.sstable.metadata.StatsMetadata
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedPartitionSize:Lorg/apache/cassandra/utils/EstimatedHistogram;
        13: .line 284
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedCellPerPartitionCount:Lorg/apache/cassandra/utils/EstimatedHistogram;
        14: .line 285
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
        15: .line 286
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.timestampTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxLongTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker.min:()J
        16: .line 287
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.timestampTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxLongTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker.max:()J
        17: .line 288
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.localDeletionTimeTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.min:()I
        18: .line 289
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.localDeletionTimeTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.max:()I
        19: .line 290
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.ttlTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.min:()I
        20: .line 291
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.ttlTracker:Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector$MinMaxIntTracker;
            invokevirtual org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker.max:()I
        21: .line 292
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.compressionRatio:D
        22: .line 293
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.estimatedTombstoneDropTime:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramBuilder;
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder.build:()Lorg/apache/cassandra/utils/StreamingHistogram;
        23: .line 294
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.sstableLevel:I
        24: .line 295
            aload 7 /* minValues */
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.makeList:([Ljava/nio/ByteBuffer;)Ljava/util/List;
        25: .line 296
            aload 8 /* maxValues */
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.makeList:([Ljava/nio/ByteBuffer;)Ljava/util/List;
        26: .line 297
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.hasLegacyCounterShards:Z
        27: .line 298
            lload 4 /* repairedAt */
        28: .line 299
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalColumnsSet:J
        29: .line 300
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.totalRows:J
            invokespecial org.apache.cassandra.io.sstable.metadata.StatsMetadata.<init>:(Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/db/commitlog/IntervalSet;JJIIIIDLorg/apache/cassandra/utils/StreamingHistogram;ILjava/util/List;Ljava/util/List;ZJJJ)V
        30: .line 283
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 301
            aload 9 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.COMPACTION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            new org.apache.cassandra.io.sstable.metadata.CompactionMetadata
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.metadata.MetadataCollector.cardinality:Lcom/clearspring/analytics/stream/cardinality/ICardinality;
            invokespecial org.apache.cassandra.io.sstable.metadata.CompactionMetadata.<init>:(Lcom/clearspring/analytics/stream/cardinality/ICardinality;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 302
            aload 9 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.HEADER:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            aload 6 /* header */
            invokevirtual org.apache.cassandra.db.SerializationHeader.toComponent:()Lorg/apache/cassandra/db/SerializationHeader$Component;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 303
            aload 9 /* components */
            areturn
        end local 9 // java.util.Map components
        end local 8 // java.nio.ByteBuffer[] maxValues
        end local 7 // java.nio.ByteBuffer[] minValues
        end local 6 // org.apache.cassandra.db.SerializationHeader header
        end local 4 // long repairedAt
        end local 2 // double bloomFilterFPChance
        end local 1 // java.lang.String partitioner
        end local 0 // org.apache.cassandra.io.sstable.metadata.MetadataCollector this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   34     0                 this  Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;
            0   34     1          partitioner  Ljava/lang/String;
            0   34     2  bloomFilterFPChance  D
            0   34     4           repairedAt  J
            0   34     6               header  Lorg/apache/cassandra/db/SerializationHeader;
            7   34     7            minValues  [Ljava/nio/ByteBuffer;
           10   34     8            maxValues  [Ljava/nio/ByteBuffer;
           11   34     9           components  Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;
    Signature: (Ljava/lang/String;DJLorg/apache/cassandra/db/SerializationHeader;)Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;
    MethodParameters:
                     Name  Flags
      partitioner          
      bloomFilterFPChance  
      repairedAt           
      header               

  private static java.util.List<java.nio.ByteBuffer> makeList(java.nio.ByteBuffer[]);
    descriptor: ([Ljava/nio/ByteBuffer;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer[] values
         0: .line 309
            new java.util.ArrayList
            dup
            aload 0 /* values */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* l */
        start local 1 // java.util.List l
         1: .line 310
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 311
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* values */
            iload 2 /* i */
            aaload
            ifnonnull 5
         4: .line 312
            goto 8
         5: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* l */
            aload 0 /* values */
            iload 2 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 310
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* values */
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 315
      StackMap locals:
      StackMap stack:
            aload 1 /* l */
            areturn
        end local 1 // java.util.List l
        end local 0 // java.nio.ByteBuffer[] values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  values  [Ljava/nio/ByteBuffer;
            1    9     1       l  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            2    8     2       i  I
    Signature: ([Ljava/nio/ByteBuffer;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
    MethodParameters:
        Name  Flags
      values  
}
SourceFile: "MetadataCollector.java"
NestMembers:
  org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker  org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker
InnerClasses:
  public Component = org.apache.cassandra.db.SerializationHeader$Component of org.apache.cassandra.db.SerializationHeader
  public Builder = org.apache.cassandra.db.commitlog.IntervalSet$Builder of org.apache.cassandra.db.commitlog.IntervalSet
  public MinMaxIntTracker = org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxIntTracker of org.apache.cassandra.io.sstable.metadata.MetadataCollector
  public MinMaxLongTracker = org.apache.cassandra.io.sstable.metadata.MetadataCollector$MinMaxLongTracker of org.apache.cassandra.io.sstable.metadata.MetadataCollector
  public StreamingHistogramBuilder = org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder of org.apache.cassandra.utils.StreamingHistogram