protected void finish(SMSClientStateJSON result) { if (fieldGeneratorCompositionStep.have_value) { result.setCompositionStep(fieldGeneratorCompositionStep.value); fieldGeneratorCompositionStep.have_value = false; } else if ((!(result.hasCompositionStep())) && !allow_incomplete) { error("When parsing the object for %what%, the \"CompositionStep\" field was missing."); } if (fieldGeneratorDisambiguationOrderedList.have_value) { result.initDisambiguationOrderedList(); int count = fieldGeneratorDisambiguationOrderedList.value.Count; for (int num = 0; num < count; ++num) { result.appendDisambiguationOrderedList(fieldGeneratorDisambiguationOrderedList.value[num]); } fieldGeneratorDisambiguationOrderedList.value.Clear(); fieldGeneratorDisambiguationOrderedList.have_value = false; } if (fieldGeneratorDisambiguateChoiceIds.have_value) { result.initDisambiguateChoiceIds(); int count = fieldGeneratorDisambiguateChoiceIds.value.Count; for (int num = 0; num < count; ++num) { result.appendDisambiguateChoiceIds(fieldGeneratorDisambiguateChoiceIds.value[num]); } fieldGeneratorDisambiguateChoiceIds.value.Clear(); fieldGeneratorDisambiguateChoiceIds.have_value = false; } if (fieldGeneratorSMS.have_value) { result.setSMS(fieldGeneratorSMS.value); fieldGeneratorSMS.have_value = false; } else if ((!(result.hasSMS())) && !allow_incomplete) { error("When parsing the object for %what%, the \"SMS\" field was missing."); } if (fieldGeneratorLastEditedTextFieldType.have_value) { result.setLastEditedTextFieldType(fieldGeneratorLastEditedTextFieldType.value); fieldGeneratorLastEditedTextFieldType.have_value = false; } base.finish(result); }