checkNotNull(page, "page is null");
checkState(!finishing, "Operator is finishing");
checkState(outputPage == null, "Operator still has pending output");
operatorContext.setMemoryReservation(markDistinctHash.getEstimatedSize());
Block markerBlock = markDistinctHash.markDistinctRows(page);
// add the new boolean column to the page
Block[] sourceBlocks = page.getBlocks();
Block[] outputBlocks = new Block[sourceBlocks.length + 1]; // +1 for the single boolean output channel