protected void finish(TypeChoicesJSON result) { if (fieldGeneratorContacts.have_value) { result.initContacts(); int count = fieldGeneratorContacts.value.Count; for (int num = 0; num < count; ++num) { result.appendContacts(fieldGeneratorContacts.value[num]); } fieldGeneratorContacts.value.Clear(); fieldGeneratorContacts.have_value = false; } else if ((!(result.hasContacts())) && !allow_incomplete) { error("When parsing the object for %what%, the \"Contacts\" field was missing."); } if (fieldGeneratorToUserWrittenName.have_value) { result.setToUserWrittenName(fieldGeneratorToUserWrittenName.value); fieldGeneratorToUserWrittenName.have_value = false; } else if ((!(result.hasToUserWrittenName())) && !allow_incomplete) { error("When parsing the object for %what%, the \"ToUserWrittenName\" field was missing."); } if (fieldGeneratorToUserSpokenName.have_value) { result.setToUserSpokenName(fieldGeneratorToUserSpokenName.value); fieldGeneratorToUserSpokenName.have_value = false; } else if ((!(result.hasToUserSpokenName())) && !allow_incomplete) { error("When parsing the object for %what%, the \"ToUserSpokenName\" field was missing."); } if (fieldGeneratorFromUserNames.have_value) { result.initFromUserNames(); int count = fieldGeneratorFromUserNames.value.Count; for (int num = 0; num < count; ++num) { result.appendFromUserNames(fieldGeneratorFromUserNames.value[num]); } fieldGeneratorFromUserNames.value.Clear(); fieldGeneratorFromUserNames.have_value = false; } else if ((!(result.hasFromUserNames())) && !allow_incomplete) { error("When parsing the object for %what%, the \"FromUserNames\" field was missing."); } }