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()); }