private final Text name_ = new Text();
private final Text phoneNumber_ = new Text();
@Override
protected void map(LongWritable key, ProtobufWritable<Person> value, Context context) throws IOException, InterruptedException {
Person p = value.get();
name_.set(p.getName());
for (PhoneNumber phoneNumber: p.getPhoneList()) {
// Could do something with the PhoneType here; note that the protobuf data structure is fully preserved
// inside the writable, including nesting.
// PhoneType type = phoneNumber.getType()
phoneNumber_.set(phoneNumber.getNumber());
context.write(name_, phoneNumber_);