for (int position = 0; position < groupIdsBlock.getPositionCount(); position++) {
checkState(values.advanceNextPosition());
checkState(weights.advanceNextPosition());
checkState(percentiles.advanceNextPosition());
checkState(masks == null || masks.advanceNextPosition());
long groupId = groupIdsBlock.getGroupId(position);
// skip null values
if (!values.isNull() && !weights.isNull() && (masks == null || masks.getBoolean())) {