protected void finish(LabeledPhoneNumberPropertyJSON result)
 {
     if (fieldGeneratorLabel.have_value)
     {
         result.setLabel(fieldGeneratorLabel.value);
         fieldGeneratorLabel.have_value = false;
     }
     else if ((!(result.hasLabel())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"Label\" field was missing.");
     }
     if (fieldGeneratorAliasLabels.have_value)
     {
         result.initAliasLabels();
         int count = fieldGeneratorAliasLabels.value.Count;
         for (int num = 0; num < count; ++num)
         {
             result.appendAliasLabels(fieldGeneratorAliasLabels.value[num]);
         }
         fieldGeneratorAliasLabels.value.Clear();
         fieldGeneratorAliasLabels.have_value = false;
     }
     base.finish(result);
 }