private int addNewGroup(int hashPosition, int position, Block[] blocks)
{
// add the row to the open page
for (int i = 0; i < blocks.length; i++) {
Type type = types.get(i);
type.appendTo(blocks[i], position, currentPageBuilder.getBlockBuilder(i));
}
currentPageBuilder.declarePosition();
int pageIndex = channelBuilders.get(0).size() - 1;
int pagePosition = currentPageBuilder.getPositionCount() - 1;
long address = encodeSyntheticAddress(pageIndex, pagePosition);