code: public Columns columns(Row row) {
          DecoratedKey partitionKey = row.key;
          Columns columns = new Columns();
          AbstractType<?> rawKeyType = metadata.getKeyValidator();
          List<ColumnDefinition> columnDefinitions = metadata.partitionKeyColumns();
          for (ColumnDefinition columnDefinition : columnDefinitions) {
              String name = columnDefinition.name.toString();
              ByteBuffer[] components = ByteBufferUtils.split(partitionKey.getKey(), rawKeyType);
              int position = columnDefinition.position();
              ByteBuffer value = components[position];
              AbstractType<?> valueType = rawKeyType.getComponents().get(position);
              columns.add(Column.fromDecomposed(name, value, valueType));
          }
          return columns;
      }
docs: Returns the columns contained in the partition key of the specified {@link Row}. Note that not all the contained
  columns are returned, but only those of the partition key.
  
  @param row A {@link Row}.
  @return The columns contained in the partition key of the specified {@link Row}.