private void setYoziGroups(Element generalElement, GenericCharacterTemplate characterTemplate)
     throws PersistenceException {
   Element yoziGroupElement = generalElement.element(TAG_YOZI_GROUPS);
   if (yoziGroupElement == null) {
     GenericGroupedTraitTypeProvider provider =
         new GenericGroupedTraitTypeProvider(AllYoziTraitTypeGroup.getInstance());
     List<String> emptyList = new ArrayList<String>();
     for (YoziType yozi : YoziType.values())
       provider.addGroupedAbilityType(yozi.getId(), yozi.getId(), null, emptyList);
     characterTemplate.setYoziGroups(provider.getTraitTypeGroups());
     return;
   }
   IXmlTemplateRegistry<GenericGroupedTraitTypeProvider> registry =
       registryCollection.getTraitGroupTemplateRegistry();
   TraitTypeGroupTemplateParser parser =
       new TraitTypeGroupTemplateParser(registry, AllYoziTraitTypeGroup.getInstance());
   GenericGroupedTraitTypeProvider yoziGroups = parser.parseTemplate(yoziGroupElement);
   characterTemplate.setYoziGroups(yoziGroups.getTraitTypeGroups());
 }