class org.apache.cassandra.cql3.QueryOptions$Codec implements org.apache.cassandra.transport.CBCodec<org.apache.cassandra.cql3.QueryOptions>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.cql3.QueryOptions$Codec
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
         0: .line 366
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/QueryOptions$Codec;

  public org.apache.cassandra.cql3.QueryOptions decode(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/QueryOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=16, args_size=3
        start local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
        start local 1 // io.netty.buffer.ByteBuf body
        start local 2 // org.apache.cassandra.transport.ProtocolVersion version
         0: .line 403
            aload 1 /* body */
            invokestatic org.apache.cassandra.transport.CBUtil.readConsistencyLevel:(Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/db/ConsistencyLevel;
            astore 3 /* consistency */
        start local 3 // org.apache.cassandra.db.ConsistencyLevel consistency
         1: .line 404
            aload 2 /* version */
            getstatic org.apache.cassandra.transport.ProtocolVersion.V5:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.isGreaterOrEqualTo:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
            ifeq 3
         2: .line 405
            aload 1 /* body */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedInt:()J
            l2i
            goto 4
         3: .line 406
      StackMap locals: org.apache.cassandra.db.ConsistencyLevel
      StackMap stack:
            aload 1 /* body */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
         4: .line 404
      StackMap locals:
      StackMap stack: int
            invokestatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.deserialize:(I)Ljava/util/EnumSet;
            astore 4 /* flags */
        start local 4 // java.util.EnumSet flags
         5: .line 408
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 5 /* values */
        start local 5 // java.util.List values
         6: .line 409
            aconst_null
            astore 6 /* names */
        start local 6 // java.util.List names
         7: .line 410
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 14
         8: .line 412
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.NAMES_FOR_VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 414
            aload 1 /* body */
            aload 2 /* version */
            invokestatic org.apache.cassandra.transport.CBUtil.readNameAndValueList:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/utils/Pair;
            astore 7 /* namesAndValues */
        start local 7 // org.apache.cassandra.utils.Pair namesAndValues
        10: .line 415
            aload 7 /* namesAndValues */
            getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* names */
        11: .line 416
            aload 7 /* namesAndValues */
            getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* values */
        end local 7 // org.apache.cassandra.utils.Pair namesAndValues
        12: .line 417
            goto 14
        13: .line 420
      StackMap locals: java.util.EnumSet java.util.List java.util.List
      StackMap stack:
            aload 1 /* body */
            aload 2 /* version */
            invokestatic org.apache.cassandra.transport.CBUtil.readValueList:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/util/List;
            astore 5 /* values */
        14: .line 424
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SKIP_METADATA:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            istore 7 /* skipMetadata */
        start local 7 // boolean skipMetadata
        15: .line 425
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        16: .line 426
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SKIP_METADATA:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        17: .line 428
            getstatic org.apache.cassandra.cql3.QueryOptions$SpecificOptions.DEFAULT:Lorg/apache/cassandra/cql3/QueryOptions$SpecificOptions;
            astore 8 /* options */
        start local 8 // org.apache.cassandra.cql3.QueryOptions$SpecificOptions options
        18: .line 429
            aload 4 /* flags */
            invokevirtual java.util.EnumSet.isEmpty:()Z
            ifne 35
        19: .line 431
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGE_SIZE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 20
            aload 1 /* body */
            invokevirtual io.netty.buffer.ByteBuf.readInt:()I
            goto 21
      StackMap locals: int org.apache.cassandra.cql3.QueryOptions$SpecificOptions
      StackMap stack:
        20: iconst_m1
      StackMap locals:
      StackMap stack: int
        21: istore 9 /* pageSize */
        start local 9 // int pageSize
        22: .line 432
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGING_STATE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 23
            aload 1 /* body */
            invokestatic org.apache.cassandra.transport.CBUtil.readValue:(Lio/netty/buffer/ByteBuf;)Ljava/nio/ByteBuffer;
            aload 2 /* version */
            invokestatic org.apache.cassandra.service.pager.PagingState.deserialize:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/service/pager/PagingState;
            goto 24
      StackMap locals: int
      StackMap stack:
        23: aconst_null
      StackMap locals:
      StackMap stack: org.apache.cassandra.service.pager.PagingState
        24: astore 10 /* pagingState */
        start local 10 // org.apache.cassandra.service.pager.PagingState pagingState
        25: .line 433
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SERIAL_CONSISTENCY:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 26
            aload 1 /* body */
            invokestatic org.apache.cassandra.transport.CBUtil.readConsistencyLevel:(Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/db/ConsistencyLevel;
            goto 27
      StackMap locals: org.apache.cassandra.service.pager.PagingState
      StackMap stack:
        26: getstatic org.apache.cassandra.db.ConsistencyLevel.SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
      StackMap locals:
      StackMap stack: org.apache.cassandra.db.ConsistencyLevel
        27: astore 11 /* serialConsistency */
        start local 11 // org.apache.cassandra.db.ConsistencyLevel serialConsistency
        28: .line 434
            ldc -9223372036854775808
            lstore 12 /* timestamp */
        start local 12 // long timestamp
        29: .line 435
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.TIMESTAMP:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 34
        30: .line 437
            aload 1 /* body */
            invokevirtual io.netty.buffer.ByteBuf.readLong:()J
            lstore 14 /* ts */
        start local 14 // long ts
        31: .line 438
            lload 14 /* ts */
            ldc -9223372036854775808
            lcmp
            ifne 33
        32: .line 439
            new org.apache.cassandra.transport.ProtocolException
            dup
            ldc "Out of bound timestamp, must be in [%d, %d] (got %d)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc -9223372036854775807
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            ldc 9223372036854775807
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 14 /* ts */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            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
        33: .line 440
      StackMap locals: org.apache.cassandra.db.ConsistencyLevel long long
      StackMap stack:
            lload 14 /* ts */
            lstore 12 /* timestamp */
        end local 14 // long ts
        34: .line 443
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.QueryOptions$SpecificOptions
            dup
            iload 9 /* pageSize */
            aload 10 /* pagingState */
            aload 11 /* serialConsistency */
            lload 12 /* timestamp */
            invokespecial org.apache.cassandra.cql3.QueryOptions$SpecificOptions.<init>:(ILorg/apache/cassandra/service/pager/PagingState;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
            astore 8 /* options */
        end local 12 // long timestamp
        end local 11 // org.apache.cassandra.db.ConsistencyLevel serialConsistency
        end local 10 // org.apache.cassandra.service.pager.PagingState pagingState
        end local 9 // int pageSize
        35: .line 445
      StackMap locals: org.apache.cassandra.cql3.QueryOptions$Codec io.netty.buffer.ByteBuf org.apache.cassandra.transport.ProtocolVersion org.apache.cassandra.db.ConsistencyLevel java.util.EnumSet java.util.List java.util.List int org.apache.cassandra.cql3.QueryOptions$SpecificOptions
      StackMap stack:
            new org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions
            dup
            aload 3 /* consistency */
            aload 5 /* values */
            iload 7 /* skipMetadata */
            aload 8 /* options */
            aload 2 /* version */
            invokespecial org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;ZLorg/apache/cassandra/cql3/QueryOptions$SpecificOptions;Lorg/apache/cassandra/transport/ProtocolVersion;)V
            astore 9 /* opts */
        start local 9 // org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions opts
        36: .line 446
            aload 6 /* names */
            ifnonnull 37
            aload 9 /* opts */
            goto 38
      StackMap locals: org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions
      StackMap stack:
        37: new org.apache.cassandra.cql3.QueryOptions$OptionsWithNames
            dup
            aload 9 /* opts */
            aload 6 /* names */
            invokespecial org.apache.cassandra.cql3.QueryOptions$OptionsWithNames.<init>:(Lorg/apache/cassandra/cql3/QueryOptions$DefaultQueryOptions;Ljava/util/List;)V
      StackMap locals:
      StackMap stack: org.apache.cassandra.cql3.QueryOptions
        38: areturn
        end local 9 // org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions opts
        end local 8 // org.apache.cassandra.cql3.QueryOptions$SpecificOptions options
        end local 7 // boolean skipMetadata
        end local 6 // java.util.List names
        end local 5 // java.util.List values
        end local 4 // java.util.EnumSet flags
        end local 3 // org.apache.cassandra.db.ConsistencyLevel consistency
        end local 2 // org.apache.cassandra.transport.ProtocolVersion version
        end local 1 // io.netty.buffer.ByteBuf body
        end local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/apache/cassandra/cql3/QueryOptions$Codec;
            0   39     1               body  Lio/netty/buffer/ByteBuf;
            0   39     2            version  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   39     3        consistency  Lorg/apache/cassandra/db/ConsistencyLevel;
            5   39     4              flags  Ljava/util/EnumSet<Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;>;
            6   39     5             values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            7   39     6              names  Ljava/util/List<Ljava/lang/String;>;
           10   12     7     namesAndValues  Lorg/apache/cassandra/utils/Pair<Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
           15   39     7       skipMetadata  Z
           18   39     8            options  Lorg/apache/cassandra/cql3/QueryOptions$SpecificOptions;
           22   35     9           pageSize  I
           25   35    10        pagingState  Lorg/apache/cassandra/service/pager/PagingState;
           28   35    11  serialConsistency  Lorg/apache/cassandra/db/ConsistencyLevel;
           29   35    12          timestamp  J
           31   34    14                 ts  J
           36   39     9               opts  Lorg/apache/cassandra/cql3/QueryOptions$DefaultQueryOptions;
    MethodParameters:
         Name  Flags
      body     
      version  

  public void encode(org.apache.cassandra.cql3.QueryOptions, io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lorg/apache/cassandra/cql3/QueryOptions;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
        start local 1 // org.apache.cassandra.cql3.QueryOptions options
        start local 2 // io.netty.buffer.ByteBuf dest
        start local 3 // org.apache.cassandra.transport.ProtocolVersion version
         0: .line 451
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
            aload 2 /* dest */
            invokestatic org.apache.cassandra.transport.CBUtil.writeConsistencyLevel:(Lorg/apache/cassandra/db/ConsistencyLevel;Lio/netty/buffer/ByteBuf;)V
         1: .line 453
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions$Codec.gatherFlags:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/EnumSet;
            astore 4 /* flags */
        start local 4 // java.util.EnumSet flags
         2: .line 454
            aload 3 /* version */
            getstatic org.apache.cassandra.transport.ProtocolVersion.V5:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.isGreaterOrEqualTo:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
            ifeq 4
         3: .line 455
            aload 2 /* dest */
            aload 4 /* flags */
            invokestatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.serialize:(Ljava/util/EnumSet;)I
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
            goto 5
         4: .line 457
      StackMap locals: java.util.EnumSet
      StackMap stack:
            aload 2 /* dest */
            aload 4 /* flags */
            invokestatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.serialize:(Ljava/util/EnumSet;)I
            i2b
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 459
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 460
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getValues:()Ljava/util/List;
            aload 2 /* dest */
            invokestatic org.apache.cassandra.transport.CBUtil.writeValueList:(Ljava/util/List;Lio/netty/buffer/ByteBuf;)V
         7: .line 461
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGE_SIZE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 462
            aload 2 /* dest */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getPageSize:()I
            invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
            pop
         9: .line 463
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGING_STATE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 464
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getPagingState:()Lorg/apache/cassandra/service/pager/PagingState;
            aload 3 /* version */
            invokevirtual org.apache.cassandra.service.pager.PagingState.serialize:(Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/nio/ByteBuffer;
            aload 2 /* dest */
            invokestatic org.apache.cassandra.transport.CBUtil.writeValue:(Ljava/nio/ByteBuffer;Lio/netty/buffer/ByteBuf;)V
        11: .line 465
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SERIAL_CONSISTENCY:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 466
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getSerialConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
            aload 2 /* dest */
            invokestatic org.apache.cassandra.transport.CBUtil.writeConsistencyLevel:(Lorg/apache/cassandra/db/ConsistencyLevel;Lio/netty/buffer/ByteBuf;)V
        13: .line 467
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.TIMESTAMP:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 468
            aload 2 /* dest */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getSpecificOptions:()Lorg/apache/cassandra/cql3/QueryOptions$SpecificOptions;
            getfield org.apache.cassandra.cql3.QueryOptions$SpecificOptions.timestamp:J
            invokevirtual io.netty.buffer.ByteBuf.writeLong:(J)Lio/netty/buffer/ByteBuf;
            pop
        15: .line 473
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.EnumSet flags
        end local 3 // org.apache.cassandra.transport.ProtocolVersion version
        end local 2 // io.netty.buffer.ByteBuf dest
        end local 1 // org.apache.cassandra.cql3.QueryOptions options
        end local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/cassandra/cql3/QueryOptions$Codec;
            0   16     1  options  Lorg/apache/cassandra/cql3/QueryOptions;
            0   16     2     dest  Lio/netty/buffer/ByteBuf;
            0   16     3  version  Lorg/apache/cassandra/transport/ProtocolVersion;
            2   16     4    flags  Ljava/util/EnumSet<Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;>;
    MethodParameters:
         Name  Flags
      options  
      dest     
      version  

  public int encodedSize(org.apache.cassandra.cql3.QueryOptions, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lorg/apache/cassandra/cql3/QueryOptions;Lorg/apache/cassandra/transport/ProtocolVersion;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
        start local 1 // org.apache.cassandra.cql3.QueryOptions options
        start local 2 // org.apache.cassandra.transport.ProtocolVersion version
         0: .line 477
            iconst_0
            istore 3 /* size */
        start local 3 // int size
         1: .line 479
            iload 3 /* size */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfConsistencyLevel:(Lorg/apache/cassandra/db/ConsistencyLevel;)I
            iadd
            istore 3 /* size */
         2: .line 481
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions$Codec.gatherFlags:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/EnumSet;
            astore 4 /* flags */
        start local 4 // java.util.EnumSet flags
         3: .line 482
            iload 3 /* size */
            aload 2 /* version */
            getstatic org.apache.cassandra.transport.ProtocolVersion.V5:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokevirtual org.apache.cassandra.transport.ProtocolVersion.isGreaterOrEqualTo:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
            ifeq 4
            iconst_4
            goto 5
      StackMap locals: org.apache.cassandra.cql3.QueryOptions$Codec org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.ProtocolVersion int java.util.EnumSet
      StackMap stack: int
         4: iconst_1
      StackMap locals: org.apache.cassandra.cql3.QueryOptions$Codec org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.ProtocolVersion int java.util.EnumSet
      StackMap stack: int int
         5: iadd
            istore 3 /* size */
         6: .line 484
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 485
            iload 3 /* size */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getValues:()Ljava/util/List;
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfValueList:(Ljava/util/List;)I
            iadd
            istore 3 /* size */
         8: .line 486
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGE_SIZE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 487
            iinc 3 /* size */ 4
        10: .line 488
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGING_STATE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 489
            iload 3 /* size */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getPagingState:()Lorg/apache/cassandra/service/pager/PagingState;
            aload 2 /* version */
            invokevirtual org.apache.cassandra.service.pager.PagingState.serializedSize:(Lorg/apache/cassandra/transport/ProtocolVersion;)I
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfValue:(I)I
            iadd
            istore 3 /* size */
        12: .line 490
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SERIAL_CONSISTENCY:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 491
            iload 3 /* size */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getSerialConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
            invokestatic org.apache.cassandra.transport.CBUtil.sizeOfConsistencyLevel:(Lorg/apache/cassandra/db/ConsistencyLevel;)I
            iadd
            istore 3 /* size */
        14: .line 492
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.TIMESTAMP:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 493
            iinc 3 /* size */ 8
        16: .line 495
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            ireturn
        end local 4 // java.util.EnumSet flags
        end local 3 // int size
        end local 2 // org.apache.cassandra.transport.ProtocolVersion version
        end local 1 // org.apache.cassandra.cql3.QueryOptions options
        end local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/apache/cassandra/cql3/QueryOptions$Codec;
            0   17     1  options  Lorg/apache/cassandra/cql3/QueryOptions;
            0   17     2  version  Lorg/apache/cassandra/transport/ProtocolVersion;
            1   17     3     size  I
            3   17     4    flags  Ljava/util/EnumSet<Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;>;
    MethodParameters:
         Name  Flags
      options  
      version  

  private java.util.EnumSet<org.apache.cassandra.cql3.QueryOptions$Codec$Flag> gatherFlags(org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/EnumSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
        start local 1 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 500
            ldc Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* flags */
        start local 2 // java.util.EnumSet flags
         1: .line 501
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getValues:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 3
         2: .line 502
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.VALUES:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 503
      StackMap locals: java.util.EnumSet
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.skipMetadata:()Z
            ifeq 5
         4: .line 504
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SKIP_METADATA:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 505
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getPageSize:()I
            iflt 7
         6: .line 506
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGE_SIZE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 507
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getPagingState:()Lorg/apache/cassandra/service/pager/PagingState;
            ifnull 9
         8: .line 508
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.PAGING_STATE:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         9: .line 509
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getSerialConsistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
            getstatic org.apache.cassandra.db.ConsistencyLevel.SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
            if_acmpeq 11
        10: .line 510
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.SERIAL_CONSISTENCY:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getSpecificOptions:()Lorg/apache/cassandra/cql3/QueryOptions$SpecificOptions;
            getfield org.apache.cassandra.cql3.QueryOptions$SpecificOptions.timestamp:J
            ldc -9223372036854775808
            lcmp
            ifeq 13
        12: .line 512
            aload 2 /* flags */
            getstatic org.apache.cassandra.cql3.QueryOptions$Codec$Flag.TIMESTAMP:Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        13: .line 513
      StackMap locals:
      StackMap stack:
            aload 2 /* flags */
            areturn
        end local 2 // java.util.EnumSet flags
        end local 1 // org.apache.cassandra.cql3.QueryOptions options
        end local 0 // org.apache.cassandra.cql3.QueryOptions$Codec this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/apache/cassandra/cql3/QueryOptions$Codec;
            0   14     1  options  Lorg/apache/cassandra/cql3/QueryOptions;
            1   14     2    flags  Ljava/util/EnumSet<Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;>;
    Signature: (Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/util/EnumSet<Lorg/apache/cassandra/cql3/QueryOptions$Codec$Flag;>;
    MethodParameters:
         Name  Flags
      options  

  public java.lang.Object decode(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.apache.cassandra.cql3.QueryOptions$Codec.decode:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/QueryOptions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void encode(java.lang.Object, io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Ljava/lang/Object;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.cql3.QueryOptions
            aload 2
            aload 3
            invokevirtual org.apache.cassandra.cql3.QueryOptions$Codec.encode:(Lorg/apache/cassandra/cql3/QueryOptions;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int encodedSize(java.lang.Object, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Ljava/lang/Object;Lorg/apache/cassandra/transport/ProtocolVersion;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.cql3.QueryOptions
            aload 2
            invokevirtual org.apache.cassandra.cql3.QueryOptions$Codec.encodedSize:(Lorg/apache/cassandra/cql3/QueryOptions;Lorg/apache/cassandra/transport/ProtocolVersion;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/transport/CBCodec<Lorg/apache/cassandra/cql3/QueryOptions;>;
SourceFile: "QueryOptions.java"
NestHost: org.apache.cassandra.cql3.QueryOptions
InnerClasses:
  private Codec = org.apache.cassandra.cql3.QueryOptions$Codec of org.apache.cassandra.cql3.QueryOptions
  private final Flag = org.apache.cassandra.cql3.QueryOptions$Codec$Flag of org.apache.cassandra.cql3.QueryOptions$Codec
  DefaultQueryOptions = org.apache.cassandra.cql3.QueryOptions$DefaultQueryOptions of org.apache.cassandra.cql3.QueryOptions
  OptionsWithNames = org.apache.cassandra.cql3.QueryOptions$OptionsWithNames of org.apache.cassandra.cql3.QueryOptions
  SpecificOptions = org.apache.cassandra.cql3.QueryOptions$SpecificOptions of org.apache.cassandra.cql3.QueryOptions