public class org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer extends org.apache.cassandra.io.sstable.metadata.MetadataSerializer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer
  super_class: org.apache.cassandra.io.sstable.metadata.MetadataSerializer
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lorg/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
         0: .line 43
            aload 0 /* this */
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataSerializer.<init>:()V
            return
        end local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer;

  public void serialize(java.util.Map<org.apache.cassandra.io.sstable.metadata.MetadataType, org.apache.cassandra.io.sstable.metadata.MetadataComponent>, org.apache.cassandra.io.util.DataOutputPlus, org.apache.cassandra.io.sstable.format.Version);
    descriptor: (Ljava/util/Map;Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/io/sstable/format/Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
        start local 1 // java.util.Map components
        start local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 3 // org.apache.cassandra.io.sstable.format.Version version
         0: .line 51
            aload 1 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.VALIDATION: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.ValidationMetadata
            astore 4 /* validation */
        start local 4 // org.apache.cassandra.io.sstable.metadata.ValidationMetadata validation
         1: .line 52
            aload 1 /* components */
            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
            astore 5 /* stats */
        start local 5 // org.apache.cassandra.io.sstable.metadata.StatsMetadata stats
         2: .line 53
            aload 1 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.COMPACTION: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.CompactionMetadata
            astore 6 /* compaction */
        start local 6 // org.apache.cassandra.io.sstable.metadata.CompactionMetadata compaction
         3: .line 55
            getstatic org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer.$assertionsDisabled:Z
            ifne 5
            aload 4 /* validation */
            ifnull 4
            aload 5 /* stats */
            ifnull 4
            aload 6 /* compaction */
            ifnull 4
            aload 4 /* validation */
            getfield org.apache.cassandra.io.sstable.metadata.ValidationMetadata.partitioner:Ljava/lang/String;
            ifnonnull 5
      StackMap locals: org.apache.cassandra.io.sstable.metadata.ValidationMetadata org.apache.cassandra.io.sstable.metadata.StatsMetadata org.apache.cassandra.io.sstable.metadata.CompactionMetadata
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 57
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.utils.EstimatedHistogram.serializer:Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.estimatedPartitionSize:Lorg/apache/cassandra/utils/EstimatedHistogram;
            aload 2 /* out */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.serialize:(Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
         6: .line 58
            getstatic org.apache.cassandra.utils.EstimatedHistogram.serializer:Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.estimatedColumnCount:Lorg/apache/cassandra/utils/EstimatedHistogram;
            aload 2 /* out */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.serialize:(Lorg/apache/cassandra/utils/EstimatedHistogram;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
         7: .line 59
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.serializer:Lorg/apache/cassandra/db/commitlog/CommitLogPosition$CommitLogPositionSerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet.upperBound:()Ljava/util/Optional;
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.NONE:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.CommitLogPosition
            aload 2 /* out */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogPosition$CommitLogPositionSerializer.serialize:(Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
         8: .line 60
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.minTimestamp:J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeLong:(J)V
         9: .line 61
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxTimestamp:J
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeLong:(J)V
        10: .line 62
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxLocalDeletionTime:I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        11: .line 63
            aload 2 /* out */
            aload 4 /* validation */
            getfield org.apache.cassandra.io.sstable.metadata.ValidationMetadata.bloomFilterFPChance:D
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeDouble:(D)V
        12: .line 64
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.compressionRatio:D
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeDouble:(D)V
        13: .line 65
            aload 2 /* out */
            aload 4 /* validation */
            getfield org.apache.cassandra.io.sstable.metadata.ValidationMetadata.partitioner:Ljava/lang/String;
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeUTF:(Ljava/lang/String;)V
        14: .line 66
            aload 2 /* out */
            iconst_0
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        15: .line 67
            getstatic org.apache.cassandra.utils.StreamingHistogram.serializer:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramSerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.estimatedTombstoneDropTime:Lorg/apache/cassandra/utils/StreamingHistogram;
            aload 2 /* out */
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer.serialize:(Lorg/apache/cassandra/utils/StreamingHistogram;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        16: .line 68
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.sstableLevel:I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        17: .line 69
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.minClusteringValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        18: .line 70
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.minClusteringValues:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer java.util.Map org.apache.cassandra.io.util.DataOutputPlus org.apache.cassandra.io.sstable.format.Version org.apache.cassandra.io.sstable.metadata.ValidationMetadata org.apache.cassandra.io.sstable.metadata.StatsMetadata org.apache.cassandra.io.sstable.metadata.CompactionMetadata top java.util.Iterator
      StackMap stack:
        19: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 7 /* value */
        start local 7 // java.nio.ByteBuffer value
        20: .line 71
            aload 7 /* value */
            aload 2 /* out */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.writeWithShortLength:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        end local 7 // java.nio.ByteBuffer value
        21: .line 70
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 72
            aload 2 /* out */
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxClusteringValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
        23: .line 73
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.maxClusteringValues:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 26
      StackMap locals:
      StackMap stack:
        24: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 7 /* value */
        start local 7 // java.nio.ByteBuffer value
        25: .line 74
            aload 7 /* value */
            aload 2 /* out */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.writeWithShortLength:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        end local 7 // java.nio.ByteBuffer value
        26: .line 73
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        27: .line 75
            aload 3 /* version */
            invokevirtual org.apache.cassandra.io.sstable.format.Version.hasCommitLogLowerBound:()Z
            ifeq 29
        28: .line 76
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.serializer:Lorg/apache/cassandra/db/commitlog/CommitLogPosition$CommitLogPositionSerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet.lowerBound:()Ljava/util/Optional;
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.NONE:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.CommitLogPosition
            aload 2 /* out */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogPosition$CommitLogPositionSerializer.serialize:(Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        29: .line 77
      StackMap locals: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer java.util.Map org.apache.cassandra.io.util.DataOutputPlus org.apache.cassandra.io.sstable.format.Version org.apache.cassandra.io.sstable.metadata.ValidationMetadata org.apache.cassandra.io.sstable.metadata.StatsMetadata org.apache.cassandra.io.sstable.metadata.CompactionMetadata
      StackMap stack:
            aload 3 /* version */
            invokevirtual org.apache.cassandra.io.sstable.format.Version.hasCommitLogIntervals:()Z
            ifeq 31
        30: .line 78
            getstatic org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogPositionSetSerializer:Lorg/apache/cassandra/io/ISerializer;
            aload 5 /* stats */
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
            aload 2 /* out */
            invokeinterface org.apache.cassandra.io.ISerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
        31: .line 79
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.apache.cassandra.io.sstable.metadata.CompactionMetadata compaction
        end local 5 // org.apache.cassandra.io.sstable.metadata.StatsMetadata stats
        end local 4 // org.apache.cassandra.io.sstable.metadata.ValidationMetadata validation
        end local 3 // org.apache.cassandra.io.sstable.format.Version version
        end local 2 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 1 // java.util.Map components
        end local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   32     0        this  Lorg/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer;
            0   32     1  components  Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;
            0   32     2         out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0   32     3     version  Lorg/apache/cassandra/io/sstable/format/Version;
            1   32     4  validation  Lorg/apache/cassandra/io/sstable/metadata/ValidationMetadata;
            2   32     5       stats  Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            3   32     6  compaction  Lorg/apache/cassandra/io/sstable/metadata/CompactionMetadata;
           20   21     7       value  Ljava/nio/ByteBuffer;
           25   26     7       value  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;Lorg/apache/cassandra/io/util/DataOutputPlus;Lorg/apache/cassandra/io/sstable/format/Version;)V
    MethodParameters:
            Name  Flags
      components  
      out         
      version     

  public java.util.Map<org.apache.cassandra.io.sstable.metadata.MetadataType, org.apache.cassandra.io.sstable.metadata.MetadataComponent> deserialize(org.apache.cassandra.io.sstable.Descriptor, java.util.EnumSet<org.apache.cassandra.io.sstable.metadata.MetadataType>);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/EnumSet;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=28, locals=29, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
        start local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 2 // java.util.EnumSet types
         0: .line 87
            new java.util.EnumMap
            dup
            ldc Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            astore 3 /* components */
        start local 3 // java.util.Map components
         1: .line 89
            new java.io.File
            dup
            aload 1 /* descriptor */
            getstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* statsFile */
        start local 4 // java.io.File statsFile
         2: .line 90
            aload 4 /* statsFile */
            invokevirtual java.io.File.exists:()Z
            ifne 5
            aload 2 /* types */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 92
            aload 3 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokestatic org.apache.cassandra.io.sstable.metadata.MetadataCollector.defaultStatsMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 93
            goto 79
         5: .line 96
      StackMap locals: java.util.Map java.io.File
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         6: new org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
            dup
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 4 /* statsFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokespecial org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.<init>:(Ljava/io/InputStream;)V
            astore 7 /* in */
        start local 7 // org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus in
         7: .line 98
            getstatic org.apache.cassandra.utils.EstimatedHistogram.serializer:Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
            aload 7 /* in */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/utils/EstimatedHistogram;
            astore 8 /* partitionSizes */
        start local 8 // org.apache.cassandra.utils.EstimatedHistogram partitionSizes
         8: .line 99
            getstatic org.apache.cassandra.utils.EstimatedHistogram.serializer:Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
            aload 7 /* in */
            invokevirtual org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/utils/EstimatedHistogram;
            astore 9 /* columnCounts */
        start local 9 // org.apache.cassandra.utils.EstimatedHistogram columnCounts
         9: .line 100
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.NONE:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            astore 10 /* commitLogLowerBound */
        start local 10 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogLowerBound
        10: .line 101
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.serializer:Lorg/apache/cassandra/db/commitlog/CommitLogPosition$CommitLogPositionSerializer;
            aload 7 /* in */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogPosition$CommitLogPositionSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            astore 11 /* commitLogUpperBound */
        start local 11 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogUpperBound
        11: .line 102
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readLong:()J
            lstore 12 /* minTimestamp */
        start local 12 // long minTimestamp
        12: .line 103
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readLong:()J
            lstore 14 /* maxTimestamp */
        start local 14 // long maxTimestamp
        13: .line 104
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readInt:()I
            istore 16 /* maxLocalDeletionTime */
        start local 16 // int maxLocalDeletionTime
        14: .line 105
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readDouble:()D
            dstore 17 /* bloomFilterFPChance */
        start local 17 // double bloomFilterFPChance
        15: .line 106
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readDouble:()D
            dstore 19 /* compressionRatio */
        start local 19 // double compressionRatio
        16: .line 107
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readUTF:()Ljava/lang/String;
            astore 21 /* partitioner */
        start local 21 // java.lang.String partitioner
        17: .line 108
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readInt:()I
            istore 22 /* nbAncestors */
        start local 22 // int nbAncestors
        18: .line 109
            aload 7 /* in */
            iload 22 /* nbAncestors */
            iload 22 /* nbAncestors */
            invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
            imul
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.skipBytes:(I)I
            pop
        19: .line 110
            getstatic org.apache.cassandra.utils.StreamingHistogram.serializer:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramSerializer;
            aload 7 /* in */
            invokevirtual org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/utils/StreamingHistogram;
            astore 23 /* tombstoneHistogram */
        start local 23 // org.apache.cassandra.utils.StreamingHistogram tombstoneHistogram
        20: .line 111
            iconst_0
            istore 24 /* sstableLevel */
        start local 24 // int sstableLevel
        21: .line 112
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.available:()I
            ifle 23
        22: .line 113
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readInt:()I
            istore 24 /* sstableLevel */
        23: .line 115
      StackMap locals: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer org.apache.cassandra.io.sstable.Descriptor java.util.EnumSet java.util.Map java.io.File java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus org.apache.cassandra.utils.EstimatedHistogram org.apache.cassandra.utils.EstimatedHistogram org.apache.cassandra.db.commitlog.CommitLogPosition org.apache.cassandra.db.commitlog.CommitLogPosition long long int double double java.lang.String int org.apache.cassandra.utils.StreamingHistogram int
      StackMap stack:
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readInt:()I
            istore 25 /* colCount */
        start local 25 // int colCount
        24: .line 116
            new java.util.ArrayList
            dup
            iload 25 /* colCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 26 /* minColumnNames */
        start local 26 // java.util.List minColumnNames
        25: .line 117
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        26: goto 29
        27: .line 118
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 26 /* minColumnNames */
            aload 7 /* in */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength:(Ljava/io/DataInput;)Ljava/nio/ByteBuffer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 117
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 27 /* i */
            iload 25 /* colCount */
            if_icmplt 27
        end local 27 // int i
        30: .line 120
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readInt:()I
            istore 25 /* colCount */
        31: .line 121
            new java.util.ArrayList
            dup
            iload 25 /* colCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 27 /* maxColumnNames */
        start local 27 // java.util.List maxColumnNames
        32: .line 122
            iconst_0
            istore 28 /* i */
        start local 28 // int i
        33: goto 36
        34: .line 123
      StackMap locals: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer org.apache.cassandra.io.sstable.Descriptor java.util.EnumSet java.util.Map java.io.File java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus org.apache.cassandra.utils.EstimatedHistogram org.apache.cassandra.utils.EstimatedHistogram org.apache.cassandra.db.commitlog.CommitLogPosition org.apache.cassandra.db.commitlog.CommitLogPosition long long int double double java.lang.String int org.apache.cassandra.utils.StreamingHistogram int int java.util.List java.util.List int
      StackMap stack:
            aload 27 /* maxColumnNames */
            aload 7 /* in */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength:(Ljava/io/DataInput;)Ljava/nio/ByteBuffer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 122
            iinc 28 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 28 /* i */
            iload 25 /* colCount */
            if_icmplt 34
        end local 28 // int i
        37: .line 125
            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.hasCommitLogLowerBound:()Z
            ifeq 39
        38: .line 126
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.serializer:Lorg/apache/cassandra/db/commitlog/CommitLogPosition$CommitLogPositionSerializer;
            aload 7 /* in */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogPosition$CommitLogPositionSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            astore 10 /* commitLogLowerBound */
        39: .line 128
      StackMap locals:
      StackMap stack:
            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.hasCommitLogIntervals:()Z
            ifeq 42
        40: .line 129
            getstatic org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogPositionSetSerializer:Lorg/apache/cassandra/io/ISerializer;
            aload 7 /* in */
            invokeinterface org.apache.cassandra.io.ISerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.IntervalSet
            astore 28 /* commitLogIntervals */
        start local 28 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
        41: goto 43
        end local 28 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
        42: .line 131
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.commitlog.IntervalSet
            dup
            aload 10 /* commitLogLowerBound */
            aload 11 /* commitLogUpperBound */
            invokespecial org.apache.cassandra.db.commitlog.IntervalSet.<init>:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
            astore 28 /* commitLogIntervals */
        start local 28 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
        43: .line 133
      StackMap locals: org.apache.cassandra.db.commitlog.IntervalSet
      StackMap stack:
            aload 2 /* types */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.VALIDATION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 47
        44: .line 134
            aload 3 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.VALIDATION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
        45: .line 135
            new org.apache.cassandra.io.sstable.metadata.ValidationMetadata
            dup
            aload 21 /* partitioner */
            dload 17 /* bloomFilterFPChance */
            invokespecial org.apache.cassandra.io.sstable.metadata.ValidationMetadata.<init>:(Ljava/lang/String;D)V
        46: .line 134
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 136
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 69
        48: .line 137
            aload 3 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
        49: .line 138
            new org.apache.cassandra.io.sstable.metadata.StatsMetadata
            dup
            aload 8 /* partitionSizes */
        50: .line 139
            aload 9 /* columnCounts */
        51: .line 140
            aload 28 /* commitLogIntervals */
        52: .line 141
            lload 12 /* minTimestamp */
        53: .line 142
            lload 14 /* maxTimestamp */
        54: .line 143
            ldc 2147483647
        55: .line 144
            iload 16 /* maxLocalDeletionTime */
        56: .line 145
            iconst_0
        57: .line 146
            ldc 2147483647
        58: .line 147
            dload 19 /* compressionRatio */
        59: .line 148
            aload 23 /* tombstoneHistogram */
        60: .line 149
            iload 24 /* sstableLevel */
        61: .line 150
            aload 26 /* minColumnNames */
        62: .line 151
            aload 27 /* maxColumnNames */
        63: .line 152
            iconst_1
        64: .line 153
            lconst_0
        65: .line 154
            ldc -1
        66: .line 155
            ldc -1
        67: .line 138
            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
        68: .line 137
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        69: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* types */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.COMPACTION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 73
        70: .line 157
            aload 3 /* components */
            getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.COMPACTION:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
        71: .line 158
            new org.apache.cassandra.io.sstable.metadata.CompactionMetadata
            dup
            aconst_null
            invokespecial org.apache.cassandra.io.sstable.metadata.CompactionMetadata.<init>:(Lcom/clearspring/analytics/stream/cardinality/ICardinality;)V
        72: .line 157
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 28 // org.apache.cassandra.db.commitlog.IntervalSet commitLogIntervals
        end local 27 // java.util.List maxColumnNames
        end local 26 // java.util.List minColumnNames
        end local 25 // int colCount
        end local 24 // int sstableLevel
        end local 23 // org.apache.cassandra.utils.StreamingHistogram tombstoneHistogram
        end local 22 // int nbAncestors
        end local 21 // java.lang.String partitioner
        end local 19 // double compressionRatio
        end local 17 // double bloomFilterFPChance
        end local 16 // int maxLocalDeletionTime
        end local 14 // long maxTimestamp
        end local 12 // long minTimestamp
        end local 11 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogUpperBound
        end local 10 // org.apache.cassandra.db.commitlog.CommitLogPosition commitLogLowerBound
        end local 9 // org.apache.cassandra.utils.EstimatedHistogram columnCounts
        end local 8 // org.apache.cassandra.utils.EstimatedHistogram partitionSizes
        73: .line 159
      StackMap locals: org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer org.apache.cassandra.io.sstable.Descriptor java.util.EnumSet java.util.Map java.io.File java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
      StackMap stack:
            aload 7 /* in */
            ifnull 79
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.close:()V
            goto 79
      StackMap locals:
      StackMap stack: java.lang.Throwable
        74: astore 5
            aload 7 /* in */
            ifnull 75
            aload 7 /* in */
            invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.close:()V
        end local 7 // org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus in
      StackMap locals:
      StackMap stack:
        75: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        76: astore 6
            aload 5
            ifnonnull 77
            aload 6
            astore 5
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 5
            aload 6
            if_acmpeq 78
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        78: aload 5
            athrow
        79: .line 161
      StackMap locals:
      StackMap stack:
            aload 3 /* components */
            areturn
        end local 4 // java.io.File statsFile
        end local 3 // java.util.Map components
        end local 2 // java.util.EnumSet types
        end local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 0 // org.apache.cassandra.io.sstable.metadata.LegacyMetadataSerializer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   80     0                  this  Lorg/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer;
            0   80     1            descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0   80     2                 types  Ljava/util/EnumSet<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;>;
            1   80     3            components  Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;
            2   80     4             statsFile  Ljava/io/File;
            7   75     7                    in  Lorg/apache/cassandra/io/util/DataInputPlus$DataInputStreamPlus;
            8   73     8        partitionSizes  Lorg/apache/cassandra/utils/EstimatedHistogram;
            9   73     9          columnCounts  Lorg/apache/cassandra/utils/EstimatedHistogram;
           10   73    10   commitLogLowerBound  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
           11   73    11   commitLogUpperBound  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
           12   73    12          minTimestamp  J
           13   73    14          maxTimestamp  J
           14   73    16  maxLocalDeletionTime  I
           15   73    17   bloomFilterFPChance  D
           16   73    19      compressionRatio  D
           17   73    21           partitioner  Ljava/lang/String;
           18   73    22           nbAncestors  I
           20   73    23    tombstoneHistogram  Lorg/apache/cassandra/utils/StreamingHistogram;
           21   73    24          sstableLevel  I
           24   73    25              colCount  I
           25   73    26        minColumnNames  Ljava/util/List<Ljava/nio/ByteBuffer;>;
           26   30    27                     i  I
           32   73    27        maxColumnNames  Ljava/util/List<Ljava/nio/ByteBuffer;>;
           33   37    28                     i  I
           41   42    28    commitLogIntervals  Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
           43   73    28    commitLogIntervals  Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
      Exception table:
        from    to  target  type
           7    73      74  any
           6    76      76  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/EnumSet<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;>;)Ljava/util/Map<Lorg/apache/cassandra/io/sstable/metadata/MetadataType;Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;>;
    MethodParameters:
            Name  Flags
      descriptor  
      types       
}
SourceFile: "LegacyMetadataSerializer.java"
InnerClasses:
  public CommitLogPositionSerializer = org.apache.cassandra.db.commitlog.CommitLogPosition$CommitLogPositionSerializer of org.apache.cassandra.db.commitlog.CommitLogPosition
  public DataInputStreamPlus = org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus of org.apache.cassandra.io.util.DataInputPlus
  public EstimatedHistogramSerializer = org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer of org.apache.cassandra.utils.EstimatedHistogram
  public StreamingHistogramSerializer = org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer of org.apache.cassandra.utils.StreamingHistogram
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()