private void validate(GTInfo info) { if (hasAggregation()) { if (aggrGroupBy.intersects(aggrMetrics)) throw new IllegalStateException(); if (aggrMetrics.cardinality() != aggrMetricsFuncs.length) throw new IllegalStateException(); if (columns == null) columns = ImmutableBitSet.EMPTY; columns = columns.or(aggrGroupBy); columns = columns.or(aggrMetrics); } if (columns == null) columns = info.colAll; this.selectedColBlocks = info.selectColumnBlocks(columns); if (hasFilterPushDown()) { validateFilterPushDown(info); } }