code: private List<ColumnDefinition> getColumns(CFMetaData cfm) throws InvalidRequestException
      {
          List<ColumnDefinition> columnDefs = new ArrayList<>(columns.size());
  
          for (Map.Entry<Term, String> col : columns.entrySet())
          {
              try
              {
                  ByteBuffer columnName = cfm.comparator.asAbstractType().fromStringCQL2(col.getKey().getText());
                  String validatorClassName = CFPropDefs.comparators.containsKey(col.getValue())
                                            ? CFPropDefs.comparators.get(col.getValue())
                                            : col.getValue();
                  AbstractType<?> validator = TypeParser.parse(validatorClassName);
                  columnDefs.add(ColumnDefinition.regularDef(cfm, columnName, validator, null));
              }
              catch (ConfigurationException e)
              {
                  InvalidRequestException ex = new InvalidRequestException(e.toString());
                  ex.initCause(e);
                  throw ex;
              }
              catch (SyntaxException e)
              {
                  InvalidRequestException ex = new InvalidRequestException(e.toString());
                  ex.initCause(e);
                  throw ex;
              }
          }
  
          return columnDefs;
      }
docs: Column definitions