public class org.apache.cassandra.io.sstable.Component
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.io.sstable.Component
  super_class: java.lang.Object
{
  public static final char separator;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 45

  static final java.util.EnumSet<org.apache.cassandra.io.sstable.Component$Type> TYPES;
    descriptor: Ljava/util/EnumSet;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/EnumSet<Lorg/apache/cassandra/io/sstable/Component$Type;>;

  public static final org.apache.cassandra.io.sstable.Component DATA;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component PRIMARY_INDEX;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component FILTER;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component COMPRESSION_INFO;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component STATS;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

  public static final org.apache.cassandra.io.sstable.Component DIGEST_CRC32;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component DIGEST_ADLER32;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component DIGEST_SHA1;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component CRC;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component SUMMARY;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.io.sstable.Component TOC;
    descriptor: Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public final org.apache.cassandra.io.sstable.Component$Type type;
    descriptor: Lorg/apache/cassandra/io/sstable/Component$Type;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int hashCode;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$utils$ChecksumType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$io$sstable$Component$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 34
            ldc Lorg/apache/cassandra/io/sstable/Component;
            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.Component.$assertionsDisabled:Z
         3: .line 38
            ldc Lorg/apache/cassandra/io/sstable/Component$Type;
            invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            putstatic org.apache.cassandra.io.sstable.Component.TYPES:Ljava/util/EnumSet;
         4: .line 91
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.DATA:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
         5: .line 92
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
         6: .line 93
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.FILTER:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.FILTER:Lorg/apache/cassandra/io/sstable/Component;
         7: .line 94
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component;
         8: .line 95
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.STATS:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
         9: .line 99
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.DIGEST:Lorg/apache/cassandra/io/sstable/Component$Type;
            ldc "Digest.crc32"
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
            putstatic org.apache.cassandra.io.sstable.Component.DIGEST_CRC32:Lorg/apache/cassandra/io/sstable/Component;
        10: .line 100
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.DIGEST:Lorg/apache/cassandra/io/sstable/Component$Type;
            ldc "Digest.adler32"
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
            putstatic org.apache.cassandra.io.sstable.Component.DIGEST_ADLER32:Lorg/apache/cassandra/io/sstable/Component;
        11: .line 101
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.DIGEST:Lorg/apache/cassandra/io/sstable/Component$Type;
            ldc "Digest.sha1"
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
            putstatic org.apache.cassandra.io.sstable.Component.DIGEST_SHA1:Lorg/apache/cassandra/io/sstable/Component;
        12: .line 102
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.CRC:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.CRC:Lorg/apache/cassandra/io/sstable/Component;
        13: .line 103
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.SUMMARY:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
        14: .line 104
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.TOC:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;)V
            putstatic org.apache.cassandra.io.sstable.Component.TOC:Lorg/apache/cassandra/io/sstable/Component;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.cassandra.io.sstable.Component digestFor(org.apache.cassandra.utils.ChecksumType);
    descriptor: (Lorg/apache/cassandra/utils/ChecksumType;)Lorg/apache/cassandra/io/sstable/Component;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.ChecksumType checksumType
         0: .line 108
            invokestatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$utils$ChecksumType:()[I
            aload 0 /* checksumType */
            invokevirtual org.apache.cassandra.utils.ChecksumType.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 111
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DIGEST_ADLER32:Lorg/apache/cassandra/io/sstable/Component;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DIGEST_CRC32:Lorg/apache/cassandra/io/sstable/Component;
            areturn
         3: .line 115
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.utils.ChecksumType checksumType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  checksumType  Lorg/apache/cassandra/utils/ChecksumType;
    MethodParameters:
              Name  Flags
      checksumType  

  public void <init>(org.apache.cassandra.io.sstable.Component$Type);
    descriptor: (Lorg/apache/cassandra/io/sstable/Component$Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.Component this
        start local 1 // org.apache.cassandra.io.sstable.Component$Type type
         0: .line 124
            aload 0 /* this */
            aload 1 /* type */
            aload 1 /* type */
            getfield org.apache.cassandra.io.sstable.Component$Type.repr:[Ljava/lang/String;
            iconst_0
            aaload
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
         1: .line 125
            getstatic org.apache.cassandra.io.sstable.Component.$assertionsDisabled:Z
            ifne 2
            aload 1 /* type */
            getfield org.apache.cassandra.io.sstable.Component$Type.repr:[Ljava/lang/String;
            arraylength
            iconst_1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 126
      StackMap locals: org.apache.cassandra.io.sstable.Component org.apache.cassandra.io.sstable.Component$Type
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.$assertionsDisabled:Z
            ifne 3
            aload 1 /* type */
            getstatic org.apache.cassandra.io.sstable.Component$Type.CUSTOM:Lorg/apache/cassandra/io/sstable/Component$Type;
            if_acmpne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.io.sstable.Component$Type type
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/io/sstable/Component;
            0    4     1  type  Lorg/apache/cassandra/io/sstable/Component$Type;
    MethodParameters:
      Name  Flags
      type  

  public void <init>(org.apache.cassandra.io.sstable.Component$Type, java.lang.String);
    descriptor: (Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.io.sstable.Component this
        start local 1 // org.apache.cassandra.io.sstable.Component$Type type
        start local 2 // java.lang.String name
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            getstatic org.apache.cassandra.io.sstable.Component.$assertionsDisabled:Z
            ifne 2
            aload 2 /* name */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            ldc "Component name cannot be null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 132
      StackMap locals: org.apache.cassandra.io.sstable.Component org.apache.cassandra.io.sstable.Component$Type java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            putfield org.apache.cassandra.io.sstable.Component.type:Lorg/apache/cassandra/io/sstable/Component$Type;
         3: .line 133
            aload 0 /* this */
            aload 2 /* name */
            putfield org.apache.cassandra.io.sstable.Component.name:Ljava/lang/String;
         4: .line 134
            aload 0 /* this */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            dup
            iconst_1
            aload 2 /* name */
            aastore
            invokestatic com.google.common.base.Objects.hashCode:([Ljava/lang/Object;)I
            putfield org.apache.cassandra.io.sstable.Component.hashCode:I
         5: .line 135
            return
        end local 2 // java.lang.String name
        end local 1 // org.apache.cassandra.io.sstable.Component$Type type
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/io/sstable/Component;
            0    6     1  type  Lorg/apache/cassandra/io/sstable/Component$Type;
            0    6     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      name  

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.Component this
         0: .line 142
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.Component.name:Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/Component;

  public static org.apache.cassandra.utils.Pair<org.apache.cassandra.io.sstable.Descriptor, org.apache.cassandra.io.sstable.Component> fromFilename(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.io.File directory
        start local 1 // java.lang.String name
         0: .line 154
            aload 0 /* directory */
            aload 1 /* name */
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/io/File;Ljava/lang/String;)Lorg/apache/cassandra/utils/Pair;
            astore 2 /* path */
        start local 2 // org.apache.cassandra.utils.Pair path
         1: .line 157
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.io.sstable.Component$Type.fromRepresentation:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Component$Type;
            astore 3 /* type */
        start local 3 // org.apache.cassandra.io.sstable.Component$Type type
         2: .line 160
            invokestatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$io$sstable$Component$Type:()[I
            aload 3 /* type */
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 3
                    2: 5
                    3: 7
                    4: 9
                    5: 11
                    6: 13
                    7: 24
                    8: 26
                    9: 28
                   10: 30
                   11: 32
              default: 34
          }
         3: .line 162
      StackMap locals: org.apache.cassandra.utils.Pair org.apache.cassandra.io.sstable.Component$Type
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
         4: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
         5: .line 163
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
         6: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
         7: .line 164
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.FILTER:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
         8: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
         9: .line 165
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        10: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        11: .line 166
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        12: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        13: .line 167
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.lang.String
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
           -601170263: 14
           -296020273: 15
            -69988885: 16
              default: 23
          }
      StackMap locals: java.io.File java.lang.String org.apache.cassandra.utils.Pair org.apache.cassandra.io.sstable.Component$Type top java.lang.String
      StackMap stack:
        14: aload 5
            ldc "Digest.crc32"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 23
      StackMap locals:
      StackMap stack:
        15: aload 5
            ldc "Digest.sha1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 23
      StackMap locals:
      StackMap stack:
        16: aload 5
            ldc "Digest.adler32"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 23
        17: .line 169
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DIGEST_CRC32:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        18: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        19: .line 170
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DIGEST_ADLER32:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        20: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        21: .line 171
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.DIGEST_SHA1:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        22: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        23: .line 172
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid digest component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 175
      StackMap locals: java.io.File java.lang.String org.apache.cassandra.utils.Pair org.apache.cassandra.io.sstable.Component$Type
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.CRC:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        25: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        26: .line 176
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.SUMMARY:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        27: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        28: .line 177
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.io.sstable.Component.TOC:Lorg/apache/cassandra/io/sstable/Component;
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        29: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        30: .line 178
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.SECONDARY_INDEX:Lorg/apache/cassandra/io/sstable/Component$Type;
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        31: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        32: .line 179
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.io.sstable.Component
            dup
            getstatic org.apache.cassandra.io.sstable.Component$Type.CUSTOM:Lorg/apache/cassandra/io/sstable/Component$Type;
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial org.apache.cassandra.io.sstable.Component.<init>:(Lorg/apache/cassandra/io/sstable/Component$Type;Ljava/lang/String;)V
            astore 4 /* component */
        start local 4 // org.apache.cassandra.io.sstable.Component component
        33: goto 35
        end local 4 // org.apache.cassandra.io.sstable.Component component
        34: .line 181
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        start local 4 // org.apache.cassandra.io.sstable.Component component
        35: .line 184
      StackMap locals: org.apache.cassandra.io.sstable.Component
      StackMap stack:
            aload 2 /* path */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Descriptor
            aload 4 /* component */
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            areturn
        end local 4 // org.apache.cassandra.io.sstable.Component component
        end local 3 // org.apache.cassandra.io.sstable.Component$Type type
        end local 2 // org.apache.cassandra.utils.Pair path
        end local 1 // java.lang.String name
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0  directory  Ljava/io/File;
            0   36     1       name  Ljava/lang/String;
            1   36     2       path  Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/String;>;
            2   36     3       type  Lorg/apache/cassandra/io/sstable/Component$Type;
            4    5     4  component  Lorg/apache/cassandra/io/sstable/Component;
            6    7     4  component  Lorg/apache/cassandra/io/sstable/Component;
            8    9     4  component  Lorg/apache/cassandra/io/sstable/Component;
           10   11     4  component  Lorg/apache/cassandra/io/sstable/Component;
           12   13     4  component  Lorg/apache/cassandra/io/sstable/Component;
           18   19     4  component  Lorg/apache/cassandra/io/sstable/Component;
           20   21     4  component  Lorg/apache/cassandra/io/sstable/Component;
           22   23     4  component  Lorg/apache/cassandra/io/sstable/Component;
           25   26     4  component  Lorg/apache/cassandra/io/sstable/Component;
           27   28     4  component  Lorg/apache/cassandra/io/sstable/Component;
           29   30     4  component  Lorg/apache/cassandra/io/sstable/Component;
           31   32     4  component  Lorg/apache/cassandra/io/sstable/Component;
           33   34     4  component  Lorg/apache/cassandra/io/sstable/Component;
           35   36     4  component  Lorg/apache/cassandra/io/sstable/Component;
    Signature: (Ljava/io/File;Ljava/lang/String;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/io/sstable/Component;>;
    MethodParameters:
           Name  Flags
      directory  
      name       

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.Component this
         0: .line 190
            aload 0 /* this */
            invokevirtual org.apache.cassandra.io.sstable.Component.name:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/Component;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.Component this
        start local 1 // java.lang.Object o
         0: .line 196
            aload 1 /* o */
            aload 0 /* this */
            if_acmpne 2
         1: .line 197
            iconst_1
            ireturn
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.apache.cassandra.io.sstable.Component
            ifne 4
         3: .line 199
            iconst_0
            ireturn
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.cassandra.io.sstable.Component
            astore 2 /* that */
        start local 2 // org.apache.cassandra.io.sstable.Component that
         5: .line 201
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.Component.type:Lorg/apache/cassandra/io/sstable/Component$Type;
            aload 2 /* that */
            getfield org.apache.cassandra.io.sstable.Component.type:Lorg/apache/cassandra/io/sstable/Component$Type;
            if_acmpne 6
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.Component.name:Ljava/lang/String;
            aload 2 /* that */
            getfield org.apache.cassandra.io.sstable.Component.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals: org.apache.cassandra.io.sstable.Component
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.io.sstable.Component that
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/cassandra/io/sstable/Component;
            0    7     1     o  Ljava/lang/Object;
            5    7     2  that  Lorg/apache/cassandra/io/sstable/Component;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.io.sstable.Component this
         0: .line 207
            aload 0 /* this */
            getfield org.apache.cassandra.io.sstable.Component.hashCode:I
            ireturn
        end local 0 // org.apache.cassandra.io.sstable.Component this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/io/sstable/Component;

  static int[] $SWITCH_TABLE$org$apache$cassandra$utils$ChecksumType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 34
            getstatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$utils$ChecksumType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.utils.ChecksumType.values:()[Lorg/apache/cassandra/utils/ChecksumType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.utils.ChecksumType.Adler32:Lorg/apache/cassandra/utils/ChecksumType;
            invokevirtual org.apache.cassandra.utils.ChecksumType.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.utils.ChecksumType.CRC32:Lorg/apache/cassandra/utils/ChecksumType;
            invokevirtual org.apache.cassandra.utils.ChecksumType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$utils$ChecksumType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$apache$cassandra$io$sstable$Component$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 34
            getstatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$io$sstable$Component$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.io.sstable.Component$Type.values:()[Lorg/apache/cassandra/io/sstable/Component$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.COMPRESSION_INFO:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.CRC:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.CUSTOM:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 11
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.DATA:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.DIGEST:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.FILTER:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iconst_2
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.SECONDARY_INDEX:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 10
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.STATS:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.SUMMARY:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 8
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.apache.cassandra.io.sstable.Component$Type.TOC:Lorg/apache/cassandra/io/sstable/Component$Type;
            invokevirtual org.apache.cassandra.io.sstable.Component$Type.ordinal:()I
            bipush 9
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.apache.cassandra.io.sstable.Component.$SWITCH_TABLE$org$apache$cassandra$io$sstable$Component$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "Component.java"
NestMembers:
  org.apache.cassandra.io.sstable.Component$Type
InnerClasses:
  public final Type = org.apache.cassandra.io.sstable.Component$Type of org.apache.cassandra.io.sstable.Component