code: public static <ColumnSelectorStrategyClass extends ColumnSelectorStrategy>
    //CHECKSTYLE.OFF: Indentation
    ColumnSelectorPlus<ColumnSelectorStrategyClass>[] createColumnSelectorPluses(
        //CHECKSTYLE.ON: Indentation
        ColumnSelectorStrategyFactory<ColumnSelectorStrategyClass> strategyFactory,
        List<DimensionSpec> dimensionSpecs,
        ColumnSelectorFactory columnSelectorFactory
    )
    {
      int dimCount = dimensionSpecs.size();
      @SuppressWarnings("unchecked")
      ColumnSelectorPlus<ColumnSelectorStrategyClass>[] dims = new ColumnSelectorPlus[dimCount];
      for (int i = 0; i < dimCount; i++) {
        final DimensionSpec dimSpec = dimensionSpecs.get(i);
        final String dimName = dimSpec.getDimension();
        final ColumnValueSelector selector = getColumnValueSelectorFromDimensionSpec(
            dimSpec,
            columnSelectorFactory
        );
        ColumnSelectorStrategyClass strategy = makeStrategy(
            strategyFactory,
            dimSpec,
            columnSelectorFactory.getColumnCapabilities(dimSpec.getDimension()),
            selector
        );
        final ColumnSelectorPlus<ColumnSelectorStrategyClass> selectorPlus = new ColumnSelectorPlus<>(
            dimName,
            dimSpec.getOutputName(),
            strategy,
            selector
        );
        dims[i] = selectorPlus;
      }
      return dims;
    }
docs: Creates an array of ColumnSelectorPlus objects, selectors that handle type-specific operations within
  query processing engines, using a strategy factory provided by the query engine. One ColumnSelectorPlus
  will be created for each column specified in dimensionSpecs.
  
  The ColumnSelectorPlus provides access to a type strategy (e.g., how to group on a float column)
  and a value selector for a single column.
  
  A caller should define a strategy factory that provides an interface for type-specific operations
  in a query engine. See GroupByStrategyFactory for a reference.
  
  @param <ColumnSelectorStrategyClass> The strategy type created by the provided strategy factory.
  @param strategyFactory               A factory provided by query engines that generates type-handling strategies
  @param dimensionSpecs                The set of columns to generate ColumnSelectorPlus objects for
  @param columnSelectorFactory         Used to create value selectors for columns.
  
  @return An array of ColumnSelectorPlus objects, in the order of the columns specified in dimensionSpecs