for (int position = 0; position < page.getPositionCount(); position++) {
checkState(values.advanceNextPosition());
checkState(weights.advanceNextPosition());
checkState(percentiles.advanceNextPosition());
checkState(masks == null || masks.advanceNextPosition());
checkState(sampleWeights == null || sampleWeights.advanceNextPosition());
long sampleWeight = SimpleAggregationFunction.computeSampleWeight(masks, sampleWeights);
if (!values.isNull() && !weights.isNull() && sampleWeight > 0) {
addValue(digest, values, sampleWeight * weights.getLong(), parameterType);