public final class org.apache.cassandra.transport.Message$Type extends java.lang.Enum<org.apache.cassandra.transport.Message$Type>
  minor version: 0
  major version: 59
  flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: org.apache.cassandra.transport.Message$Type
  super_class: java.lang.Enum
{
  public static final org.apache.cassandra.transport.Message$Type ERROR;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type STARTUP;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type READY;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type AUTHENTICATE;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type CREDENTIALS;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type OPTIONS;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type SUPPORTED;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type QUERY;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type RESULT;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type PREPARE;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type EXECUTE;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type REGISTER;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type EVENT;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type BATCH;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type AUTH_CHALLENGE;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type AUTH_RESPONSE;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final org.apache.cassandra.transport.Message$Type AUTH_SUCCESS;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

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

  public final org.apache.cassandra.transport.Message$Direction direction;
    descriptor: Lorg/apache/cassandra/transport/Message$Direction;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.cassandra.transport.Message$Codec<?> codec;
    descriptor: Lorg/apache/cassandra/transport/Message$Codec;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Lorg/apache/cassandra/transport/Message$Codec<*>;

  private static final org.apache.cassandra.transport.Message$Type[] opcodeIdx;
    descriptor: [Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.Message$Type[] ENUM$VALUES;
    descriptor: [Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=0
         0: .line 94
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "ERROR"
            iconst_0
            iconst_0
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.ErrorMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.ERROR:Lorg/apache/cassandra/transport/Message$Type;
         1: .line 95
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "STARTUP"
            iconst_1
            iconst_1
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.StartupMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.STARTUP:Lorg/apache/cassandra/transport/Message$Type;
         2: .line 96
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "READY"
            iconst_2
            iconst_2
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.ReadyMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.READY:Lorg/apache/cassandra/transport/Message$Type;
         3: .line 97
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "AUTHENTICATE"
            iconst_3
            iconst_3
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.AuthenticateMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.AUTHENTICATE:Lorg/apache/cassandra/transport/Message$Type;
         4: .line 98
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "CREDENTIALS"
            iconst_4
            iconst_4
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.CredentialsMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.CREDENTIALS:Lorg/apache/cassandra/transport/Message$Type;
         5: .line 99
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "OPTIONS"
            iconst_5
            iconst_5
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.OptionsMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.OPTIONS:Lorg/apache/cassandra/transport/Message$Type;
         6: .line 100
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "SUPPORTED"
            bipush 6
            bipush 6
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.SupportedMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.SUPPORTED:Lorg/apache/cassandra/transport/Message$Type;
         7: .line 101
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "QUERY"
            bipush 7
            bipush 7
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.QueryMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.QUERY:Lorg/apache/cassandra/transport/Message$Type;
         8: .line 102
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "RESULT"
            bipush 8
            bipush 8
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.ResultMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.RESULT:Lorg/apache/cassandra/transport/Message$Type;
         9: .line 103
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "PREPARE"
            bipush 9
            bipush 9
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.PrepareMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.PREPARE:Lorg/apache/cassandra/transport/Message$Type;
        10: .line 104
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "EXECUTE"
            bipush 10
            bipush 10
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.ExecuteMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.EXECUTE:Lorg/apache/cassandra/transport/Message$Type;
        11: .line 105
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "REGISTER"
            bipush 11
            bipush 11
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.RegisterMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.REGISTER:Lorg/apache/cassandra/transport/Message$Type;
        12: .line 106
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "EVENT"
            bipush 12
            bipush 12
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.EventMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.EVENT:Lorg/apache/cassandra/transport/Message$Type;
        13: .line 107
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "BATCH"
            bipush 13
            bipush 13
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.BatchMessage.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.BATCH:Lorg/apache/cassandra/transport/Message$Type;
        14: .line 108
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "AUTH_CHALLENGE"
            bipush 14
            bipush 14
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.AuthChallenge.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.AUTH_CHALLENGE:Lorg/apache/cassandra/transport/Message$Type;
        15: .line 109
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "AUTH_RESPONSE"
            bipush 15
            bipush 15
            getstatic org.apache.cassandra.transport.Message$Direction.REQUEST:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.AuthResponse.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.AUTH_RESPONSE:Lorg/apache/cassandra/transport/Message$Type;
        16: .line 110
            new org.apache.cassandra.transport.Message$Type
            dup
            ldc "AUTH_SUCCESS"
            bipush 16
            bipush 16
            getstatic org.apache.cassandra.transport.Message$Direction.RESPONSE:Lorg/apache/cassandra/transport/Message$Direction;
            getstatic org.apache.cassandra.transport.messages.AuthSuccess.codec:Lorg/apache/cassandra/transport/Message$Codec;
            invokespecial org.apache.cassandra.transport.Message$Type.<init>:(Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
            putstatic org.apache.cassandra.transport.Message$Type.AUTH_SUCCESS:Lorg/apache/cassandra/transport/Message$Type;
            bipush 17
            anewarray org.apache.cassandra.transport.Message$Type
            dup
            iconst_0
            getstatic org.apache.cassandra.transport.Message$Type.ERROR:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            iconst_1
            getstatic org.apache.cassandra.transport.Message$Type.STARTUP:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            iconst_2
            getstatic org.apache.cassandra.transport.Message$Type.READY:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            iconst_3
            getstatic org.apache.cassandra.transport.Message$Type.AUTHENTICATE:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            iconst_4
            getstatic org.apache.cassandra.transport.Message$Type.CREDENTIALS:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            iconst_5
            getstatic org.apache.cassandra.transport.Message$Type.OPTIONS:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 6
            getstatic org.apache.cassandra.transport.Message$Type.SUPPORTED:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 7
            getstatic org.apache.cassandra.transport.Message$Type.QUERY:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 8
            getstatic org.apache.cassandra.transport.Message$Type.RESULT:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 9
            getstatic org.apache.cassandra.transport.Message$Type.PREPARE:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 10
            getstatic org.apache.cassandra.transport.Message$Type.EXECUTE:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 11
            getstatic org.apache.cassandra.transport.Message$Type.REGISTER:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 12
            getstatic org.apache.cassandra.transport.Message$Type.EVENT:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 13
            getstatic org.apache.cassandra.transport.Message$Type.BATCH:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 14
            getstatic org.apache.cassandra.transport.Message$Type.AUTH_CHALLENGE:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 15
            getstatic org.apache.cassandra.transport.Message$Type.AUTH_RESPONSE:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            dup
            bipush 16
            getstatic org.apache.cassandra.transport.Message$Type.AUTH_SUCCESS:Lorg/apache/cassandra/transport/Message$Type;
            aastore
            putstatic org.apache.cassandra.transport.Message$Type.ENUM$VALUES:[Lorg/apache/cassandra/transport/Message$Type;
        17: .line 119
            iconst_m1
            istore 0 /* maxOpcode */
        start local 0 // int maxOpcode
        18: .line 120
            invokestatic org.apache.cassandra.transport.Message$Type.values:()[Lorg/apache/cassandra/transport/Message$Type;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 22
      StackMap locals: int top int int org.apache.cassandra.transport.Message$Type[]
      StackMap stack:
        19: aload 4
            iload 2
            aaload
            astore 1 /* type */
        start local 1 // org.apache.cassandra.transport.Message$Type type
        20: .line 121
            iload 0 /* maxOpcode */
            aload 1 /* type */
            getfield org.apache.cassandra.transport.Message$Type.opcode:I
            invokestatic java.lang.Math.max:(II)I
            istore 0 /* maxOpcode */
        end local 1 // org.apache.cassandra.transport.Message$Type type
        21: .line 120
            iinc 2 1
      StackMap locals:
      StackMap stack:
        22: iload 2
            iload 3
            if_icmplt 19
        23: .line 122
            iload 0 /* maxOpcode */
            iconst_1
            iadd
            anewarray org.apache.cassandra.transport.Message$Type
            putstatic org.apache.cassandra.transport.Message$Type.opcodeIdx:[Lorg/apache/cassandra/transport/Message$Type;
        24: .line 123
            invokestatic org.apache.cassandra.transport.Message$Type.values:()[Lorg/apache/cassandra/transport/Message$Type;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 30
      StackMap locals:
      StackMap stack:
        25: aload 4
            iload 2
            aaload
            astore 1 /* type */
        start local 1 // org.apache.cassandra.transport.Message$Type type
        26: .line 125
            getstatic org.apache.cassandra.transport.Message$Type.opcodeIdx:[Lorg/apache/cassandra/transport/Message$Type;
            aload 1 /* type */
            getfield org.apache.cassandra.transport.Message$Type.opcode:I
            aaload
            ifnull 28
        27: .line 126
            new java.lang.IllegalStateException
            dup
            ldc "Duplicate opcode"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 127
      StackMap locals: int org.apache.cassandra.transport.Message$Type int int org.apache.cassandra.transport.Message$Type[]
      StackMap stack:
            getstatic org.apache.cassandra.transport.Message$Type.opcodeIdx:[Lorg/apache/cassandra/transport/Message$Type;
            aload 1 /* type */
            getfield org.apache.cassandra.transport.Message$Type.opcode:I
            aload 1 /* type */
            aastore
        end local 1 // org.apache.cassandra.transport.Message$Type type
        29: .line 123
            iinc 2 1
      StackMap locals: int top int int org.apache.cassandra.transport.Message$Type[]
      StackMap stack:
        30: iload 2
            iload 3
            if_icmplt 25
        end local 0 // int maxOpcode
        31: .line 129
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
           18   31     0  maxOpcode  I
           20   21     1       type  Lorg/apache/cassandra/transport/Message$Type;
           26   29     1       type  Lorg/apache/cassandra/transport/Message$Type;

  private void <init>(int, org.apache.cassandra.transport.Message$Direction, org.apache.cassandra.transport.Message$Codec<?>);
    descriptor: (Ljava/lang/String;IILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.apache.cassandra.transport.Message$Type this
        start local 3 // int opcode
        start local 4 // org.apache.cassandra.transport.Message$Direction direction
        start local 5 // org.apache.cassandra.transport.Message$Codec codec
         0: .line 131
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 133
            aload 0 /* this */
            iload 3 /* opcode */
            putfield org.apache.cassandra.transport.Message$Type.opcode:I
         2: .line 134
            aload 0 /* this */
            aload 4 /* direction */
            putfield org.apache.cassandra.transport.Message$Type.direction:Lorg/apache/cassandra/transport/Message$Direction;
         3: .line 135
            aload 0 /* this */
            aload 5 /* codec */
            putfield org.apache.cassandra.transport.Message$Type.codec:Lorg/apache/cassandra/transport/Message$Codec;
         4: .line 136
            return
        end local 5 // org.apache.cassandra.transport.Message$Codec codec
        end local 4 // org.apache.cassandra.transport.Message$Direction direction
        end local 3 // int opcode
        end local 0 // org.apache.cassandra.transport.Message$Type this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/cassandra/transport/Message$Type;
            0    5     3     opcode  I
            0    5     4  direction  Lorg/apache/cassandra/transport/Message$Direction;
            0    5     5      codec  Lorg/apache/cassandra/transport/Message$Codec<*>;
    Signature: (ILorg/apache/cassandra/transport/Message$Direction;Lorg/apache/cassandra/transport/Message$Codec<*>;)V
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  
      opcode         
      direction      
      codec          

  public static org.apache.cassandra.transport.Message$Type fromOpcode(int, org.apache.cassandra.transport.Message$Direction);
    descriptor: (ILorg/apache/cassandra/transport/Message$Direction;)Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // int opcode
        start local 1 // org.apache.cassandra.transport.Message$Direction direction
         0: .line 140
            iload 0 /* opcode */
            getstatic org.apache.cassandra.transport.Message$Type.opcodeIdx:[Lorg/apache/cassandra/transport/Message$Type;
            arraylength
            if_icmplt 2
         1: .line 141
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Unknown opcode %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* opcode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 142
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.transport.Message$Type.opcodeIdx:[Lorg/apache/cassandra/transport/Message$Type;
            iload 0 /* opcode */
            aaload
            astore 2 /* t */
        start local 2 // org.apache.cassandra.transport.Message$Type t
         3: .line 143
            aload 2 /* t */
            ifnonnull 5
         4: .line 144
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Unknown opcode %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* opcode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 145
      StackMap locals: org.apache.cassandra.transport.Message$Type
      StackMap stack:
            aload 2 /* t */
            getfield org.apache.cassandra.transport.Message$Type.direction:Lorg/apache/cassandra/transport/Message$Direction;
            aload 1 /* direction */
            if_acmpeq 12
         6: .line 146
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Wrong protocol direction (expected %s, got %s) for opcode %d (%s)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 147
            aload 2 /* t */
            getfield org.apache.cassandra.transport.Message$Type.direction:Lorg/apache/cassandra/transport/Message$Direction;
            aastore
            dup
            iconst_1
         8: .line 148
            aload 1 /* direction */
            aastore
            dup
            iconst_2
         9: .line 149
            iload 0 /* opcode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        10: .line 150
            aload 2 /* t */
            aastore
        11: .line 146
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 151
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            areturn
        end local 2 // org.apache.cassandra.transport.Message$Type t
        end local 1 // org.apache.cassandra.transport.Message$Direction direction
        end local 0 // int opcode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0     opcode  I
            0   13     1  direction  Lorg/apache/cassandra/transport/Message$Direction;
            3   13     2          t  Lorg/apache/cassandra/transport/Message$Type;
    MethodParameters:
           Name  Flags
      opcode     
      direction  

  public static org.apache.cassandra.transport.Message$Type[] values();
    descriptor: ()[Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic org.apache.cassandra.transport.Message$Type.ENUM$VALUES:[Lorg/apache/cassandra/transport/Message$Type;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray org.apache.cassandra.transport.Message$Type
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.cassandra.transport.Message$Type valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Lorg/apache/cassandra/transport/Message$Type;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast org.apache.cassandra.transport.Message$Type
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  
}
Signature: Ljava/lang/Enum<Lorg/apache/cassandra/transport/Message$Type;>;
SourceFile: "Message.java"
NestHost: org.apache.cassandra.transport.Message
InnerClasses:
  public abstract Codec = org.apache.cassandra.transport.Message$Codec of org.apache.cassandra.transport.Message
  public final Direction = org.apache.cassandra.transport.Message$Direction of org.apache.cassandra.transport.Message
  public final Type = org.apache.cassandra.transport.Message$Type of org.apache.cassandra.transport.Message