protected void finish(ChineseZodiacSignOfSignInfoNuggetJSON result)
 {
     if (fieldGeneratorResultSign.have_value)
     {
         result.setResultSign(fieldGeneratorResultSign.value);
         fieldGeneratorResultSign.have_value = false;
     }
     else if ((!(result.hasResultSign())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"ResultSign\" field was missing.");
     }
     if (fieldGeneratorQuerySign.have_value)
     {
         result.setQuerySign(fieldGeneratorQuerySign.value);
         fieldGeneratorQuerySign.have_value = false;
     }
     else if ((!(result.hasQuerySign())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"QuerySign\" field was missing.");
     }
     if (fieldGeneratorOrdinal.have_value)
     {
         result.setOrdinal(fieldGeneratorOrdinal.value);
         fieldGeneratorOrdinal.have_value = false;
     }
     else if ((!(result.hasOrdinal())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"Ordinal\" field was missing.");
     }
     if (fieldGeneratorCycled.have_value)
     {
         result.setCycled(fieldGeneratorCycled.value);
         fieldGeneratorCycled.have_value = false;
     }
     else if ((!(result.hasCycled())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"Cycled\" field was missing.");
     }
     base.finish(result);
 }