// set the reducer context
t.setContext(context);
for (final EmitValue value : values)
try {
t.aggregate(value.getData(), value.getMetadata());
} catch (final FinishedException e) {
// we are done
return;
} catch (final IOException e) {
// won't be robust to IOExceptions