code: public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory factory)
    {
      final VirtualColumn virtualColumn = getVirtualColumn(dimensionSpec.getDimension());
      if (virtualColumn == null) {
        throw new IAE("No such virtual column[%s]", dimensionSpec.getDimension());
      } else {
        final DimensionSelector selector = virtualColumn.makeDimensionSelector(dimensionSpec, factory);
        Preconditions.checkNotNull(selector, "selector");
        return selector;
      }
    }
docs: Create a dimension (string) selector.
  
  @param dimensionSpec the dimensionSpec for this selector
  @param factory       base column selector factory
  
  @return selector
  
  @throws IllegalArgumentException if the virtual column does not exist (see {@link #exists(String)}