code: private Object composeColumnValue(CqlMetadata cqlMetadata, byte[] thriftColumnValue, byte[] thriftColumnName) {
          Map<ByteBuffer, String> schemaTypes = cqlMetadata.getValue_types();
          AbstractType<?> type = null;
          try {
              type = TypeParser.parse(schemaTypes.get(ByteBuffer.wrap(thriftColumnName)));
          } catch (SyntaxException | ConfigurationException ex) {
              log.error(ex.getMessage());
              throw new KunderaException("Error while deserializing column value " + ex);
          }
          if (type.isCollection()) {
              return ((CollectionSerializer) type.getSerializer())
                  .deserializeForNativeProtocol(ByteBuffer.wrap(thriftColumnValue), ProtocolVersion.V2);
          }
          return type.compose(ByteBuffer.wrap(thriftColumnValue));
      }
docs: Compose column value.
  
  @param cqlMetadata
  the cql metadata
  @param thriftColumnValue
  the thrift column value
  @param thriftColumnName
  the thrift column name
  @return the object