code: private <T extends BaseColumnDescriptor> T createColumnDescriptor(BaseColumn column, Class<T> descriptorType,
                                                                        Map<String, ColumnTypeDescriptor> columnTypes, Store store) {
          T columnDescriptor = store.create(descriptorType);
          columnDescriptor.setName(column.getName());
          columnDescriptor.setNullable(column.isNullable());
          columnDescriptor.setSize(column.getSize());
          columnDescriptor.setDecimalDigits(column.getDecimalDigits());
          ColumnDataType columnDataType = column.getColumnDataType();
          ColumnTypeDescriptor columnTypeDescriptor = getColumnTypeDescriptor(columnDataType, columnTypes, store);
          columnDescriptor.setColumnType(columnTypeDescriptor);
          return columnDescriptor;
      }
docs: Create a column descriptor.
  
  @param column         The column.
  @param descriptorType The type to create.
  @param columnTypes    The column types.
  @param store          The store.
  @return The column descriptor.