code: private static Pair<List<DimensionSpec>, List<DimensionSpec>> partitionDimensionList(
        StorageAdapter adapter,
        List<DimensionSpec> dimensions
    )
    {
      final List<DimensionSpec> bitmapDims = new ArrayList<>();
      final List<DimensionSpec> nonBitmapDims = new ArrayList<>();
      final List<DimensionSpec> dimsToSearch = getDimsToSearch(
          adapter.getAvailableDimensions(),
          dimensions
      );
  
      for (DimensionSpec spec : dimsToSearch) {
        ColumnCapabilities capabilities = adapter.getColumnCapabilities(spec.getDimension());
        if (capabilities == null) {
          continue;
        }
  
        if (capabilities.hasBitmapIndexes()) {
          bitmapDims.add(spec);
        } else {
          nonBitmapDims.add(spec);
        }
      }
  
      return new Pair<>(bitmapDims, nonBitmapDims);
    }
docs: Split the given dimensions list into bitmap-supporting dimensions and non-bitmap supporting ones.
  Note that the returned lists are free to modify.