public QueryMessage decode(ByteBuf body, int version) {
   String query = CBUtil.readLongString(body);
   if (version == 1) {
     ConsistencyLevel consistency = CBUtil.readConsistencyLevel(body);
     return new QueryMessage(
         query,
         QueryOptions.fromProtocolV1(consistency, Collections.<ByteBuffer>emptyList()));
   } else {
     return new QueryMessage(query, QueryOptions.codec.decode(body, version));
   }
 }