private int addHeaderGroups(ColumnModel<PivotRow> cm, PivotTable.Node parent, int row, int col) {
int leafCount = parent.getLeaves().size();
cm.addHeaderGroup(row, col, new HeaderGroupConfig(parent.getDimension().getLabel(), 1, leafCount));
for (PivotTable.Node child : parent.getChildren()) {
if (child.isLeaf()) {
col++;
} else {
cm.addHeaderGroup(row + 1, col,
new HeaderGroupConfig(child.getCategoryLabel(), 1, child.getLeaves().size()));
col = addHeaderGroups(cm, child, row + 2, col);
}
}
return col;
}