public abstract class org.apache.cassandra.transport.CBUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.transport.CBUtil
  super_class: java.lang.Object
{
  public static final boolean USE_HEAP_ALLOCATOR;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final io.netty.buffer.ByteBufAllocator allocator;
    descriptor: Lio/netty/buffer/ByteBufAllocator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final io.netty.util.concurrent.FastThreadLocal<java.nio.charset.CharsetDecoder> TL_UTF8_DECODER;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/nio/charset/CharsetDecoder;>;

  private static final io.netty.util.concurrent.FastThreadLocal<java.nio.CharBuffer> TL_CHAR_BUFFER;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/nio/CharBuffer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 59
            ldc "cassandra.netty_use_heap_allocator"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.apache.cassandra.transport.CBUtil.USE_HEAP_ALLOCATOR:Z
         1: .line 60
            getstatic org.apache.cassandra.transport.CBUtil.USE_HEAP_ALLOCATOR:Z
            ifeq 2
            new io.netty.buffer.UnpooledByteBufAllocator
            dup
            iconst_0
            invokespecial io.netty.buffer.UnpooledByteBufAllocator.<init>:(Z)V
            goto 3
      StackMap locals:
      StackMap stack:
         2: new io.netty.buffer.PooledByteBufAllocator
            dup
            iconst_1
            invokespecial io.netty.buffer.PooledByteBufAllocator.<init>:(Z)V
      StackMap locals:
      StackMap stack: io.netty.buffer.AbstractByteBufAllocator
         3: putstatic org.apache.cassandra.transport.CBUtil.allocator:Lio/netty/buffer/ByteBufAllocator;
         4: .line 62
            new org.apache.cassandra.transport.CBUtil$1
            dup
            invokespecial org.apache.cassandra.transport.CBUtil$1.<init>:()V
            putstatic org.apache.cassandra.transport.CBUtil.TL_UTF8_DECODER:Lio/netty/util/concurrent/FastThreadLocal;
         5: .line 71
            new io.netty.util.concurrent.FastThreadLocal
            dup
            invokespecial io.netty.util.concurrent.FastThreadLocal.<init>:()V
            putstatic org.apache.cassandra.transport.CBUtil.TL_CHAR_BUFFER:Lio/netty/util/concurrent/FastThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.CBUtil this
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.transport.CBUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/CBUtil;

  private static java.lang.String decodeString(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.nio.ByteBuffer src
         0: .line 82
            getstatic org.apache.cassandra.transport.CBUtil.TL_UTF8_DECODER:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast java.nio.charset.CharsetDecoder
            astore 1 /* theDecoder */
        start local 1 // java.nio.charset.CharsetDecoder theDecoder
         1: .line 83
            aload 1 /* theDecoder */
            invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
            pop
         2: .line 84
            getstatic org.apache.cassandra.transport.CBUtil.TL_CHAR_BUFFER:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast java.nio.CharBuffer
            astore 2 /* dst */
        start local 2 // java.nio.CharBuffer dst
         3: .line 85
            aload 0 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2d
            aload 1 /* theDecoder */
            invokevirtual java.nio.charset.CharsetDecoder.maxCharsPerByte:()F
            f2d
            dmul
            d2i
            istore 3 /* capacity */
        start local 3 // int capacity
         4: .line 86
            aload 2 /* dst */
            ifnonnull 9
         5: .line 88
            iload 3 /* capacity */
            sipush 4096
            invokestatic java.lang.Math.max:(II)I
            istore 3 /* capacity */
         6: .line 89
            iload 3 /* capacity */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 2 /* dst */
         7: .line 90
            getstatic org.apache.cassandra.transport.CBUtil.TL_CHAR_BUFFER:Lio/netty/util/concurrent/FastThreadLocal;
            aload 2 /* dst */
            invokevirtual io.netty.util.concurrent.FastThreadLocal.set:(Ljava/lang/Object;)V
         8: .line 91
            goto 13
         9: .line 94
      StackMap locals: java.nio.charset.CharsetDecoder java.nio.CharBuffer int
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        10: .line 95
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.capacity:()I
            iload 3 /* capacity */
            if_icmpge 13
        11: .line 97
            iload 3 /* capacity */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 2 /* dst */
        12: .line 98
            getstatic org.apache.cassandra.transport.CBUtil.TL_CHAR_BUFFER:Lio/netty/util/concurrent/FastThreadLocal;
            aload 2 /* dst */
            invokevirtual io.netty.util.concurrent.FastThreadLocal.set:(Ljava/lang/Object;)V
        13: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* theDecoder */
            aload 0 /* src */
            aload 2 /* dst */
            iconst_1
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 4 /* cr */
        start local 4 // java.nio.charset.CoderResult cr
        14: .line 102
            aload 4 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 16
        15: .line 103
            aload 4 /* cr */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        16: .line 105
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.nio.charset.CoderResult cr
        end local 3 // int capacity
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.charset.CharsetDecoder theDecoder
        end local 0 // java.nio.ByteBuffer src
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0         src  Ljava/nio/ByteBuffer;
            1   17     1  theDecoder  Ljava/nio/charset/CharsetDecoder;
            3   17     2         dst  Ljava/nio/CharBuffer;
            4   17     3    capacity  I
           14   17     4          cr  Ljava/nio/charset/CoderResult;
    Exceptions:
      throws java.nio.charset.CharacterCodingException
    MethodParameters:
      Name  Flags
      src   

  private static java.lang.String readString(io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.netty.buffer.ByteBuf cb
        start local 1 // int length
         0: .line 110
            iload 1 /* length */
            ifne 2
         1: .line 111
            ldc ""
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* cb */
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 1 /* length */
            invokevirtual io.netty.buffer.ByteBuf.nioBuffer:(II)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         3: .line 116
            aload 2 /* buffer */
            invokestatic org.apache.cassandra.transport.CBUtil.decodeString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         4: .line 117
            aload 0 /* cb */
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 1 /* length */
            iadd
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 118
            aload 3 /* str */
         6: areturn
        end local 3 // java.lang.String str
         7: .line 120
      StackMap locals: io.netty.buffer.ByteBuf int java.nio.ByteBuffer
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         8: .line 122
            new org.apache.cassandra.transport.ProtocolException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot decode string as UTF8: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* buffer */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0      cb  Lio/netty/buffer/ByteBuf;
            0    9     1  length  I
            3    9     2  buffer  Ljava/nio/ByteBuffer;
            4    7     3     str  Ljava/lang/String;
            8    9     3       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.IllegalStateException
           3     6       7  Class java.nio.charset.CharacterCodingException
    MethodParameters:
        Name  Flags
      cb      
      length  

  public static java.lang.String readString(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 130
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 131
            aload 0 /* cb */
            iload 1 /* length */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
         2: areturn
        end local 1 // int length
         3: .line 133
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         4: .line 135
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Not enough bytes to read an UTF8 serialized string preceded by its 2 bytes length"
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      cb  Lio/netty/buffer/ByteBuf;
            1    3     1  length  I
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      cb    

  public static void writeString(java.lang.String, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String str
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 141
            aload 1 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            istore 2 /* writerIndex */
        start local 2 // int writerIndex
         1: .line 142
            aload 1 /* cb */
            iconst_0
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 143
            aload 1 /* cb */
            aload 0 /* str */
            invokestatic io.netty.buffer.ByteBufUtil.writeUtf8:(Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)I
            istore 3 /* lengthBytes */
        start local 3 // int lengthBytes
         3: .line 144
            aload 1 /* cb */
            iload 2 /* writerIndex */
            iload 3 /* lengthBytes */
            invokevirtual io.netty.buffer.ByteBuf.setShort:(II)Lio/netty/buffer/ByteBuf;
            pop
         4: .line 145
            return
        end local 3 // int lengthBytes
        end local 2 // int writerIndex
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0          str  Ljava/lang/String;
            0    5     1           cb  Lio/netty/buffer/ByteBuf;
            1    5     2  writerIndex  I
            3    5     3  lengthBytes  I
    MethodParameters:
      Name  Flags
      str   
      cb    

  public static int sizeOfString(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 149
            iconst_2
            aload 0 /* str */
            invokestatic org.apache.cassandra.db.TypeSizes.encodedUTF8Length:(Ljava/lang/String;)I
            iadd
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public static java.lang.String readLongString(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 156
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readInt:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 157
            aload 0 /* cb */
            iload 1 /* length */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
         2: areturn
        end local 1 // int length
         3: .line 159
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         4: .line 161
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Not enough bytes to read an UTF8 serialized string preceded by its 4 bytes length"
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      cb  Lio/netty/buffer/ByteBuf;
            1    3     1  length  I
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      cb    

  public static void writeLongString(java.lang.String, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String str
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 167
            aload 0 /* str */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 168
            aload 1 /* cb */
            aload 2 /* bytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 169
            aload 1 /* cb */
            aload 2 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 170
            return
        end local 2 // byte[] bytes
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0    str  Ljava/lang/String;
            0    4     1     cb  Lio/netty/buffer/ByteBuf;
            1    4     2  bytes  [B
    MethodParameters:
      Name  Flags
      str   
      cb    

  public static int sizeOfLongString(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 174
            iconst_4
            aload 0 /* str */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            arraylength
            iadd
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public static byte[] readBytes(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 181
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 182
            iload 1 /* length */
            newarray 8
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         2: .line 183
            aload 0 /* cb */
            aload 2 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 184
            aload 2 /* bytes */
         4: areturn
        end local 2 // byte[] bytes
        end local 1 // int length
         5: .line 186
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         6: .line 188
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Not enough bytes to read a byte array preceded by its 2 bytes length"
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0      cb  Lio/netty/buffer/ByteBuf;
            1    5     1  length  I
            2    5     2   bytes  [B
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      cb    

  public static void writeBytes(byte[], io.netty.buffer.ByteBuf);
    descriptor: ([BLio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] bytes
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 194
            aload 1 /* cb */
            aload 0 /* bytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 195
            aload 1 /* cb */
            aload 0 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 196
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  bytes  [B
            0    3     1     cb  Lio/netty/buffer/ByteBuf;
    MethodParameters:
       Name  Flags
      bytes  
      cb     

  public static int sizeOfBytes(byte[]);
    descriptor: ([B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 200
            iconst_2
            aload 0 /* bytes */
            arraylength
            iadd
            ireturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static java.util.Map<java.lang.String, java.nio.ByteBuffer> readBytesMap(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 205
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 206
            new java.util.HashMap
            dup
            iload 1 /* length */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 2 /* m */
        start local 2 // java.util.Map m
         2: .line 207
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 209
      StackMap locals: int java.util.Map int
      StackMap stack:
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            astore 4 /* k */
        start local 4 // java.lang.String k
         5: .line 210
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readValue:(Lio/netty/buffer/ByteBuf;)Ljava/nio/ByteBuffer;
            astore 5 /* v */
        start local 5 // java.nio.ByteBuffer v
         6: .line 211
            aload 2 /* m */
            aload 4 /* k */
            aload 5 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.nio.ByteBuffer v
        end local 4 // java.lang.String k
         7: .line 207
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         9: .line 213
            aload 2 /* m */
            areturn
        end local 2 // java.util.Map m
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      cb  Lio/netty/buffer/ByteBuf;
            1   10     1  length  I
            2   10     2       m  Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
            3    9     3       i  I
            5    7     4       k  Ljava/lang/String;
            6    7     5       v  Ljava/nio/ByteBuffer;
    Signature: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
    MethodParameters:
      Name  Flags
      cb    

  public static void writeBytesMap(java.util.Map<java.lang.String, java.nio.ByteBuffer>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.Map m
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 218
            aload 1 /* cb */
            aload 0 /* m */
            invokeinterface java.util.Map.size:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 219
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 221
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
         4: .line 222
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeValue:(Ljava/nio/ByteBuffer;Lio/netty/buffer/ByteBuf;)V
        end local 2 // java.util.Map$Entry entry
         5: .line 219
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 224
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
            0    7     1     cb  Lio/netty/buffer/ByteBuf;
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
      Name  Flags
      m     
      cb    

  public static int sizeOfBytesMap(java.util.Map<java.lang.String, java.nio.ByteBuffer>);
    descriptor: (Ljava/util/Map;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Map m
         0: .line 228
            iconst_2
            istore 1 /* size */
        start local 1 // int size
         1: .line 229
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 231
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            iadd
            istore 1 /* size */
         4: .line 232
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfValue:(Ljava/nio/ByteBuffer;)I
            iadd
            istore 1 /* size */
        end local 2 // java.util.Map$Entry entry
         5: .line 229
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 234
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
            1    7     1   size  I
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;)I
    MethodParameters:
      Name  Flags
      m     

  public static org.apache.cassandra.db.ConsistencyLevel readConsistencyLevel(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/db/ConsistencyLevel;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 239
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            invokestatic org.apache.cassandra.db.ConsistencyLevel.fromCode:(I)Lorg/apache/cassandra/db/ConsistencyLevel;
            areturn
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cb  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      cb    

  public static void writeConsistencyLevel(org.apache.cassandra.db.ConsistencyLevel, io.netty.buffer.ByteBuf);
    descriptor: (Lorg/apache/cassandra/db/ConsistencyLevel;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ConsistencyLevel consistency
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 244
            aload 1 /* cb */
            aload 0 /* consistency */
            getfield org.apache.cassandra.db.ConsistencyLevel.code:I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 245
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // org.apache.cassandra.db.ConsistencyLevel consistency
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  consistency  Lorg/apache/cassandra/db/ConsistencyLevel;
            0    2     1           cb  Lio/netty/buffer/ByteBuf;
    MethodParameters:
             Name  Flags
      consistency  
      cb           

  public static int sizeOfConsistencyLevel(org.apache.cassandra.db.ConsistencyLevel);
    descriptor: (Lorg/apache/cassandra/db/ConsistencyLevel;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.ConsistencyLevel consistency
         0: .line 249
            iconst_2
            ireturn
        end local 0 // org.apache.cassandra.db.ConsistencyLevel consistency
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  consistency  Lorg/apache/cassandra/db/ConsistencyLevel;
    MethodParameters:
             Name  Flags
      consistency  

  public static <T extends java.lang.Enum<T>> T readEnumValue(java.lang.Class<T>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/Class;Lio/netty/buffer/ByteBuf;)Ljava/lang/Enum;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.lang.Class enumType
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 254
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 257
            aload 0 /* enumType */
            aload 2 /* value */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
         2: areturn
         3: .line 259
      StackMap locals: java.lang.Class io.netty.buffer.ByteBuf java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            pop
         4: .line 261
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Invalid value '%s' for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* value */
            aastore
            dup
            iconst_1
            aload 0 /* enumType */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            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
        end local 2 // java.lang.String value
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.lang.Class enumType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  enumType  Ljava/lang/Class<TT;>;
            0    5     1        cb  Lio/netty/buffer/ByteBuf;
            1    5     2     value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
    Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/Class<TT;>;Lio/netty/buffer/ByteBuf;)TT;
    MethodParameters:
          Name  Flags
      enumType  
      cb        

  public static <T extends java.lang.Enum<T>> void writeEnumValue(T, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/Enum;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Enum enumValue
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 267
            aload 0 /* enumValue */
            invokevirtual java.lang.Enum.toString:()Ljava/lang/String;
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
         1: .line 268
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.lang.Enum enumValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  enumValue  TT;
            0    2     1         cb  Lio/netty/buffer/ByteBuf;
    Signature: <T:Ljava/lang/Enum<TT;>;>(TT;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
           Name  Flags
      enumValue  
      cb         

  public static <T extends java.lang.Enum<T>> int sizeOfEnumValue();
    descriptor: (Ljava/lang/Enum;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Enum enumValue
         0: .line 272
            aload 0 /* enumValue */
            invokevirtual java.lang.Enum.toString:()Ljava/lang/String;
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            ireturn
        end local 0 // java.lang.Enum enumValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  enumValue  TT;
    Signature: <T:Ljava/lang/Enum<TT;>;>(TT;)I
    MethodParameters:
           Name  Flags
      enumValue  

  public static java.util.UUID readUUID(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/util/UUID;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 277
            bipush 16
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 278
            aload 0 /* cb */
            aload 1 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 279
            aload 1 /* bytes */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokestatic org.apache.cassandra.utils.UUIDGen.getUUID:(Ljava/nio/ByteBuffer;)Ljava/util/UUID;
            areturn
        end local 1 // byte[] bytes
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     cb  Lio/netty/buffer/ByteBuf;
            1    3     1  bytes  [B
    MethodParameters:
      Name  Flags
      cb    

  public static void writeUUID(java.util.UUID, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/UUID;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.UUID uuid
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 284
            aload 1 /* cb */
            aload 0 /* uuid */
            invokestatic org.apache.cassandra.utils.UUIDGen.decompose:(Ljava/util/UUID;)[B
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 285
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.UUID uuid
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  uuid  Ljava/util/UUID;
            0    2     1    cb  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      uuid  
      cb    

  public static int sizeOfUUID(java.util.UUID);
    descriptor: (Ljava/util/UUID;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.UUID uuid
         0: .line 289
            bipush 16
            ireturn
        end local 0 // java.util.UUID uuid
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  uuid  Ljava/util/UUID;
    MethodParameters:
      Name  Flags
      uuid  

  public static java.util.List<java.lang.String> readStringList(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 294
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 295
            new java.util.ArrayList
            dup
            iload 1 /* length */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* l */
        start local 2 // java.util.List l
         2: .line 296
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 297
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 2 /* l */
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 296
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         7: .line 298
            aload 2 /* l */
            areturn
        end local 2 // java.util.List l
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0      cb  Lio/netty/buffer/ByteBuf;
            1    8     1  length  I
            2    8     2       l  Ljava/util/List<Ljava/lang/String;>;
            3    7     3       i  I
    Signature: (Lio/netty/buffer/ByteBuf;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      cb    

  public static void writeStringList(java.util.List<java.lang.String>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/List;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List l
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 303
            aload 1 /* cb */
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 304
            aload 0 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 305
            aload 2 /* str */
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
        end local 2 // java.lang.String str
         4: .line 304
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 306
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     l  Ljava/util/List<Ljava/lang/String;>;
            0    6     1    cb  Lio/netty/buffer/ByteBuf;
            3    4     2   str  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
      Name  Flags
      l     
      cb    

  public static int sizeOfStringList(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.List l
         0: .line 310
            iconst_2
            istore 1 /* size */
        start local 1 // int size
         1: .line 311
            aload 0 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 312
            iload 1 /* size */
            aload 2 /* str */
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            iadd
            istore 1 /* size */
        end local 2 // java.lang.String str
         4: .line 311
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 313
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     l  Ljava/util/List<Ljava/lang/String;>;
            1    6     1  size  I
            3    4     2   str  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)I
    MethodParameters:
      Name  Flags
      l     

  public static java.util.Map<java.lang.String, java.lang.String> readStringMap(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 318
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 319
            new java.util.HashMap
            dup
            iload 1 /* length */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 2 /* m */
        start local 2 // java.util.Map m
         2: .line 320
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 322
      StackMap locals: int java.util.Map int
      StackMap stack:
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            astore 4 /* k */
        start local 4 // java.lang.String k
         5: .line 323
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            astore 5 /* v */
        start local 5 // java.lang.String v
         6: .line 324
            aload 2 /* m */
            aload 4 /* k */
            aload 5 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String v
        end local 4 // java.lang.String k
         7: .line 320
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         9: .line 326
            aload 2 /* m */
            areturn
        end local 2 // java.util.Map m
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      cb  Lio/netty/buffer/ByteBuf;
            1   10     1  length  I
            2   10     2       m  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3    9     3       i  I
            5    7     4       k  Ljava/lang/String;
            6    7     5       v  Ljava/lang/String;
    Signature: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      cb    

  public static void writeStringMap(java.util.Map<java.lang.String, java.lang.String>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.Map m
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 331
            aload 1 /* cb */
            aload 0 /* m */
            invokeinterface java.util.Map.size:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 332
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 334
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
         4: .line 335
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
        end local 2 // java.util.Map$Entry entry
         5: .line 332
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 337
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    7     1     cb  Lio/netty/buffer/ByteBuf;
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
      Name  Flags
      m     
      cb    

  public static int sizeOfStringMap(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Map m
         0: .line 341
            iconst_2
            istore 1 /* size */
        start local 1 // int size
         1: .line 342
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 344
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            iadd
            istore 1 /* size */
         4: .line 345
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            iadd
            istore 1 /* size */
        end local 2 // java.util.Map$Entry entry
         5: .line 342
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 347
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    7     1   size  I
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)I
    MethodParameters:
      Name  Flags
      m     

  public static java.util.Map<java.lang.String, java.util.List<java.lang.String>> readStringToStringListMap(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 352
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 353
            new java.util.HashMap
            dup
            iload 1 /* length */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 2 /* m */
        start local 2 // java.util.Map m
         2: .line 354
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 356
      StackMap locals: int java.util.Map int
      StackMap stack:
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 4 /* k */
        start local 4 // java.lang.String k
         5: .line 357
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readStringList:(Lio/netty/buffer/ByteBuf;)Ljava/util/List;
            astore 5 /* v */
        start local 5 // java.util.List v
         6: .line 358
            aload 2 /* m */
            aload 4 /* k */
            aload 5 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.List v
        end local 4 // java.lang.String k
         7: .line 354
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         9: .line 360
            aload 2 /* m */
            areturn
        end local 2 // java.util.Map m
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      cb  Lio/netty/buffer/ByteBuf;
            1   10     1  length  I
            2   10     2       m  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            3    9     3       i  I
            5    7     4       k  Ljava/lang/String;
            6    7     5       v  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Lio/netty/buffer/ByteBuf;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
      Name  Flags
      cb    

  public static void writeStringToStringListMap(java.util.Map<java.lang.String, java.util.List<java.lang.String>>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.Map m
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 365
            aload 1 /* cb */
            aload 0 /* m */
            invokeinterface java.util.Map.size:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 366
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 368
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeString:(Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
         4: .line 369
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeStringList:(Ljava/util/List;Lio/netty/buffer/ByteBuf;)V
        end local 2 // java.util.Map$Entry entry
         5: .line 366
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 371
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            0    7     1     cb  Lio/netty/buffer/ByteBuf;
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
      Name  Flags
      m     
      cb    

  public static int sizeOfStringToStringListMap(java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
    descriptor: (Ljava/util/Map;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.Map m
         0: .line 375
            iconst_2
            istore 1 /* size */
        start local 1 // int size
         1: .line 376
            aload 0 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Map int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         3: .line 378
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfString:(Ljava/lang/String;)I
            iadd
            istore 1 /* size */
         4: .line 379
            iload 1 /* size */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfStringList:(Ljava/util/List;)I
            iadd
            istore 1 /* size */
        end local 2 // java.util.Map$Entry entry
         5: .line 376
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 381
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      m  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            1    7     1   size  I
            3    5     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)I
    MethodParameters:
      Name  Flags
      m     

  public static java.nio.ByteBuffer readValue(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/nio/ByteBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 386
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readInt:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 387
            iload 1 /* length */
            ifge 3
         2: .line 388
            aconst_null
            areturn
         3: .line 389
      StackMap locals: int
      StackMap stack:
            aload 0 /* cb */
            iload 1 /* length */
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 2 /* slice */
        start local 2 // io.netty.buffer.ByteBuf slice
         4: .line 391
            aload 2 /* slice */
            invokestatic org.apache.cassandra.transport.CBUtil.readRawBytes:(Lio/netty/buffer/ByteBuf;)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // io.netty.buffer.ByteBuf slice
        end local 1 // int length
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      cb  Lio/netty/buffer/ByteBuf;
            1    5     1  length  I
            4    5     2   slice  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      cb    

  public static java.nio.ByteBuffer readBoundValue(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.netty.buffer.ByteBuf cb
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 396
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readInt:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 397
            iload 2 /* length */
            ifge 9
         2: .line 399
            aload 1 /* protocolVersion */
            getstatic org.apache.cassandra.transport.ProtocolVersion.V4:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.isSmallerThan:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
            ifeq 4
         3: .line 400
            aconst_null
            areturn
         4: .line 401
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iconst_m1
            if_icmpne 6
         5: .line 402
            aconst_null
            areturn
         6: .line 403
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            bipush -2
            if_icmpne 8
         7: .line 404
            getstatic org.apache.cassandra.utils.ByteBufferUtil.UNSET_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            areturn
         8: .line 406
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.transport.ProtocolException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid ByteBuf length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* cb */
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 3 /* slice */
        start local 3 // io.netty.buffer.ByteBuf slice
        10: .line 410
            aload 3 /* slice */
            invokestatic org.apache.cassandra.transport.CBUtil.readRawBytes:(Lio/netty/buffer/ByteBuf;)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 3 // io.netty.buffer.ByteBuf slice
        end local 2 // int length
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0               cb  Lio/netty/buffer/ByteBuf;
            0   11     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   11     2           length  I
           10   11     3            slice  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                 Name  Flags
      cb               
      protocolVersion  

  public static void writeValue(byte[], io.netty.buffer.ByteBuf);
    descriptor: ([BLio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] bytes
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 415
            aload 0 /* bytes */
            ifnonnull 3
         1: .line 417
            aload 1 /* cb */
            iconst_m1
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 418
            return
         3: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* cb */
            aload 0 /* bytes */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         4: .line 422
            aload 1 /* cb */
            aload 0 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 423
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  bytes  [B
            0    6     1     cb  Lio/netty/buffer/ByteBuf;
    MethodParameters:
       Name  Flags
      bytes  
      cb     

  public static void writeValue(java.nio.ByteBuffer, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/nio/ByteBuffer;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.nio.ByteBuffer bytes
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 427
            aload 0 /* bytes */
            ifnonnull 3
         1: .line 429
            aload 1 /* cb */
            iconst_m1
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 430
            return
         3: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* remaining */
        start local 2 // int remaining
         4: .line 434
            aload 1 /* cb */
            iload 2 /* remaining */
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 436
            iload 2 /* remaining */
            ifle 7
         6: .line 437
            aload 1 /* cb */
            aload 0 /* bytes */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
            pop
         7: .line 438
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int remaining
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.nio.ByteBuffer bytes
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      bytes  Ljava/nio/ByteBuffer;
            0    8     1         cb  Lio/netty/buffer/ByteBuf;
            4    8     2  remaining  I
    MethodParameters:
       Name  Flags
      bytes  
      cb     

  public static int sizeOfValue(byte[]);
    descriptor: ([B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 442
            iconst_4
            aload 0 /* bytes */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: int
         1: aload 0 /* bytes */
            arraylength
      StackMap locals: byte[]
      StackMap stack: int int
         2: iadd
            ireturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static int sizeOfValue(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer bytes
         0: .line 447
            iconst_4
            aload 0 /* bytes */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: int
         1: aload 0 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
      StackMap locals: java.nio.ByteBuffer
      StackMap stack: int int
         2: iadd
            ireturn
        end local 0 // java.nio.ByteBuffer bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  bytes  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      bytes  

  public static int sizeOfValue(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int valueSize
         0: .line 454
            iconst_4
            iload 0 /* valueSize */
            ifge 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iload 0 /* valueSize */
      StackMap locals: int
      StackMap stack: int int
         2: iadd
            ireturn
        end local 0 // int valueSize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  valueSize  I
    MethodParameters:
           Name  Flags
      valueSize  

  public static java.util.List<java.nio.ByteBuffer> readValueList(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.netty.buffer.ByteBuf cb
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 459
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 460
            iload 2 /* size */
            ifne 3
         2: .line 461
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 463
      StackMap locals: int
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* l */
        start local 3 // java.util.List l
         4: .line 464
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 465
      StackMap locals: java.util.List int
      StackMap stack:
            aload 3 /* l */
            aload 0 /* cb */
            aload 1 /* protocolVersion */
            invokestatic org.apache.cassandra.transport.CBUtil.readBoundValue:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 464
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 4 // int i
         9: .line 466
            aload 3 /* l */
            areturn
        end local 3 // java.util.List l
        end local 2 // int size
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0               cb  Lio/netty/buffer/ByteBuf;
            0   10     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   10     2             size  I
            4   10     3                l  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            5    9     4                i  I
    Signature: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
    MethodParameters:
                 Name  Flags
      cb               
      protocolVersion  

  public static void writeValueList(java.util.List<java.nio.ByteBuffer>, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/util/List;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List values
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 471
            aload 1 /* cb */
            aload 0 /* values */
            invokeinterface java.util.List.size:()I
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            pop
         1: .line 472
            aload 0 /* values */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List io.netty.buffer.ByteBuf top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 2 /* value */
        start local 2 // java.nio.ByteBuffer value
         3: .line 473
            aload 2 /* value */
            aload 1 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.writeValue:(Ljava/nio/ByteBuffer;Lio/netty/buffer/ByteBuf;)V
        end local 2 // java.nio.ByteBuffer value
         4: .line 472
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 474
            return
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.util.List values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            0    6     1      cb  Lio/netty/buffer/ByteBuf;
            3    4     2   value  Ljava/nio/ByteBuffer;
    Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;Lio/netty/buffer/ByteBuf;)V
    MethodParameters:
        Name  Flags
      values  
      cb      

  public static int sizeOfValueList(java.util.List<java.nio.ByteBuffer>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.List values
         0: .line 478
            iconst_2
            istore 1 /* size */
        start local 1 // int size
         1: .line 479
            aload 0 /* values */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 2 /* value */
        start local 2 // java.nio.ByteBuffer value
         3: .line 480
            iload 1 /* size */
            aload 2 /* value */
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfValue:(Ljava/nio/ByteBuffer;)I
            iadd
            istore 1 /* size */
        end local 2 // java.nio.ByteBuffer value
         4: .line 479
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 481
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // java.util.List values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            1    6     1    size  I
            3    4     2   value  Ljava/nio/ByteBuffer;
    Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;)I
    MethodParameters:
        Name  Flags
      values  

  public static org.apache.cassandra.utils.Pair<java.util.List<java.lang.String>, java.util.List<java.nio.ByteBuffer>> readNameAndValueList(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.netty.buffer.ByteBuf cb
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 486
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 487
            iload 2 /* size */
            ifne 3
         2: .line 488
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            areturn
         3: .line 490
      StackMap locals: int
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* s */
        start local 3 // java.util.List s
         4: .line 491
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* l */
        start local 4 // java.util.List l
         5: .line 492
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 494
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            aload 3 /* s */
            aload 0 /* cb */
            invokestatic org.apache.cassandra.transport.CBUtil.readString:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 495
            aload 4 /* l */
            aload 0 /* cb */
            aload 1 /* protocolVersion */
            invokestatic org.apache.cassandra.transport.CBUtil.readBoundValue:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 492
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 2 /* size */
            if_icmplt 7
        end local 5 // int i
        11: .line 497
            aload 3 /* s */
            aload 4 /* l */
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            areturn
        end local 4 // java.util.List l
        end local 3 // java.util.List s
        end local 2 // int size
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0               cb  Lio/netty/buffer/ByteBuf;
            0   12     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   12     2             size  I
            4   12     3                s  Ljava/util/List<Ljava/lang/String;>;
            5   12     4                l  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            6   11     5                i  I
    Signature: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/utils/Pair<Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    MethodParameters:
                 Name  Flags
      cb               
      protocolVersion  

  public static java.net.InetSocketAddress readInet(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/net/InetSocketAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 502
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readByte:()B
            sipush 255
            iand
            istore 1 /* addrSize */
        start local 1 // int addrSize
         1: .line 503
            iload 1 /* addrSize */
            newarray 8
            astore 2 /* address */
        start local 2 // byte[] address
         2: .line 504
            aload 0 /* cb */
            aload 2 /* address */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 505
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readInt:()I
            istore 3 /* port */
        start local 3 // int port
         4: .line 508
            new java.net.InetSocketAddress
            dup
            aload 2 /* address */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            iload 3 /* port */
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
         5: areturn
         6: .line 510
      StackMap locals: io.netty.buffer.ByteBuf int byte[] int
      StackMap stack: java.net.UnknownHostException
            pop
         7: .line 512
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Invalid IP address (%d.%d.%d.%d) while deserializing inet address"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* address */
            iconst_0
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            dup
            iconst_1
            aload 2 /* address */
            iconst_1
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            dup
            iconst_2
            aload 2 /* address */
            iconst_2
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            dup
            iconst_3
            aload 2 /* address */
            iconst_3
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            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
        end local 3 // int port
        end local 2 // byte[] address
        end local 1 // int addrSize
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0        cb  Lio/netty/buffer/ByteBuf;
            1    8     1  addrSize  I
            2    8     2   address  [B
            4    8     3      port  I
      Exception table:
        from    to  target  type
           4     5       6  Class java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      cb    

  public static void writeInet(java.net.InetSocketAddress, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.net.InetSocketAddress inet
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 518
            aload 0 /* inet */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 2 /* address */
        start local 2 // byte[] address
         1: .line 520
            aload 1 /* cb */
            aload 2 /* address */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 521
            aload 1 /* cb */
            aload 2 /* address */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 522
            aload 1 /* cb */
            aload 0 /* inet */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         4: .line 523
            return
        end local 2 // byte[] address
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.net.InetSocketAddress inet
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     inet  Ljava/net/InetSocketAddress;
            0    5     1       cb  Lio/netty/buffer/ByteBuf;
            1    5     2  address  [B
    MethodParameters:
      Name  Flags
      inet  
      cb    

  public static int sizeOfInet(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.InetSocketAddress inet
         0: .line 527
            aload 0 /* inet */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* address */
        start local 1 // byte[] address
         1: .line 528
            iconst_1
            aload 1 /* address */
            arraylength
            iadd
            iconst_4
            iadd
            ireturn
        end local 1 // byte[] address
        end local 0 // java.net.InetSocketAddress inet
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     inet  Ljava/net/InetSocketAddress;
            1    2     1  address  [B
    MethodParameters:
      Name  Flags
      inet  

  public static java.net.InetAddress readInetAddr(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 533
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readByte:()B
            sipush 255
            iand
            istore 1 /* addressSize */
        start local 1 // int addressSize
         1: .line 534
            iload 1 /* addressSize */
            newarray 8
            astore 2 /* address */
        start local 2 // byte[] address
         2: .line 535
            aload 0 /* cb */
            aload 2 /* address */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 538
            aload 2 /* address */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
         4: areturn
         5: .line 540
      StackMap locals: io.netty.buffer.ByteBuf int byte[]
      StackMap stack: java.net.UnknownHostException
            pop
         6: .line 542
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Invalid IP address while deserializing inet address"
            invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte[] address
        end local 1 // int addressSize
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0           cb  Lio/netty/buffer/ByteBuf;
            1    7     1  addressSize  I
            2    7     2      address  [B
      Exception table:
        from    to  target  type
           3     4       5  Class java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      cb    

  public static void writeInetAddr(java.net.InetAddress, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/net/InetAddress;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.net.InetAddress inetAddr
        start local 1 // io.netty.buffer.ByteBuf cb
         0: .line 548
            aload 0 /* inetAddr */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 2 /* address */
        start local 2 // byte[] address
         1: .line 549
            aload 1 /* cb */
            aload 2 /* address */
            arraylength
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 550
            aload 1 /* cb */
            aload 2 /* address */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 551
            return
        end local 2 // byte[] address
        end local 1 // io.netty.buffer.ByteBuf cb
        end local 0 // java.net.InetAddress inetAddr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  inetAddr  Ljava/net/InetAddress;
            0    4     1        cb  Lio/netty/buffer/ByteBuf;
            1    4     2   address  [B
    MethodParameters:
          Name  Flags
      inetAddr  
      cb        

  public static int sizeOfInetAddr(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.InetAddress inetAddr
         0: .line 555
            iconst_1
            aload 0 /* inetAddr */
            invokevirtual java.net.InetAddress.getAddress:()[B
            arraylength
            iadd
            ireturn
        end local 0 // java.net.InetAddress inetAddr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  inetAddr  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      inetAddr  

  public static byte[] readRawBytes(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf cb
         0: .line 563
            aload 0 /* cb */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 564
            aload 0 /* cb */
            aload 1 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 565
            aload 1 /* bytes */
            areturn
        end local 1 // byte[] bytes
        end local 0 // io.netty.buffer.ByteBuf cb
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     cb  Lio/netty/buffer/ByteBuf;
            1    3     1  bytes  [B
    MethodParameters:
      Name  Flags
      cb    
}
SourceFile: "CBUtil.java"
NestMembers:
  org.apache.cassandra.transport.CBUtil$1
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.apache.cassandra.transport.CBUtil$1