PCGen / pcgen

Main code and data development for pcgen program release
http://pcgen.org
GNU Lesser General Public License v2.1
431 stars 341 forks source link

Stack Overflow #2962

Closed kheinzelmann closed 7 years ago

kheinzelmann commented 7 years ago

Something in 12e1b286ba07e653aeef2d7cb1aa3b3eb648d099 is causing a stack overflow when loading or creating a character.

LegacyKing commented 7 years ago

Yeah, I know. I just don't know what change was introduced that caused it either. I'm reviewing what I did and looking for the answer - Most of the code change is in a subsection that is only used for the Race Builder.

eslafgh commented 7 years ago

Problem is infinite recursion - looks like a template being continually added and removed.

After putting some System.out.printlns in pcgen.core.PlayerCharacter.{add,remover}Template and exporting (some code changes and file movement required)

java -jar pcgen.jar -c code/testsuite/PCGfiles/pf_Cleric.pcg -E outputsheets/base.xml.ftl -o foo.xml

I get

19:41:29.966 INFO main Main:140 Starting PCGen v6.07.03-dev
19:41:30.548 INFO main LanguageBundle:134 Initialising language bundle with locale en_GB.
19:41:32.728 INFO main BatchExporter:118 Started export of /home/mark/play/pcgen/src/github/code/testsuite/PCGfiles/pf_Cleric.pcg using outputsheets/base.xml.ftl to foo.xml
19:41:32.765 INFO main BatchExporter:125 Loading sources [Core Rulebook, Advanced Player's Guide] using game mode Pathfinder_RPG
19:41:32.786 INFO main SourceFileLoader:556 Loading game Pathfinder_RPG and sources [Core Rulebook, Advanced Player's Guide].
PlayerCharacter.addTemplate: Creature with Class Levels
PlayerCharacter.addTemplate: FACE_5
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
PlayerCharacter.addTemplate: Legs ~ 1
PlayerCharacter.removeTemplate: Legs ~ 1
...

which continues until the java.lang.StackOverflowError.

19:41:56.809 SEVERE main Main:528 Uncaught error - ignoring
java.lang.StackOverflowError
    at pcgen.cdom.facet.ShieldProfFacet.dataRemoved(ShieldProfFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.model.TemplateFacet.dataRemoved(TemplateFacet.java:75)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.input.TemplateInputFacet.remove(TemplateInputFacet.java:126)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5851)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataRemoved(SimpleAbilityFacet.java:42)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.remove(AbstractCNASEnforcingFacet.java:102)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataRemoved(AbstractCNASEnforcingFacet.java:190)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.remove(AbstractListFacet.java:144)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4591)
    at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8196)
    at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9070)
    at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:59)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:71)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:137)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:65)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:35)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:66)
    at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:183)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:264)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
    at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:98)
    at pcgen.core.PlayerCharacter.setDirty(PlayerCharacter.java:993)
    at pcgen.core.PlayerCharacter.removeTemplate(PlayerCharacter.java:5852)
    at pcgen.cdom.facet.AddedTemplateFacet.dataRemoved(AddedTemplateFacet.java:304)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.remove(CDOMObjectConsolidationFacet.java:93)
    at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataRemoved(CDOMObjectConsolidationFacet.java:160)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.processRemoval(AbstractSourcedListFacet.java:500)
    at pcgen.cdom.facet.base.AbstractSourcedListFacet.remove(AbstractSourcedListFacet.java:148)
    at pcgen.cdom.facet.CharacterConsolidationFacet.dataRemoved(CharacterConsolidationFacet.java:87)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:267)
    at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:205)
LegacyKing commented 7 years ago

Holy cow... Why is it granting and removing though? It should be a fixed value.

thpr commented 7 years ago

Looks to me like the data has an ability that adds a template, but the ability was conditionally added only if the PC didn't have something done by the template.

Something like: ABILITY:BLAH|BLAH|FOO|PRELEGSNEQ:1 or some such. It then grants the template that gives LEGS=1.

That will produce an infinite loop as the LEGS=1 then triggers removal of the ability.

So what you should be looking for in the data is things that Grant the Template LEGS ~ 1 ...and how are THEY granted... when is it granted with trailing PRExxx... that will diagnose where in the data the problem lies.

Note the

pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:85)

...which means it's updating things based on the PRExxx items that trail Abilities.

Tom

On Tue, Jun 27, 2017 at 10:58 PM, Andrew Maitland notifications@github.com wrote:

Holy cow... Why is it granting and removing though? It should be a fixed value.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PCGen/pcgen/issues/2962#issuecomment-311543345, or mute the thread https://github.com/notifications/unsubscribe-auth/AIbYNp0K6x3fb6bzP7Xkaw8CruoqvIcrks5sIcFygaJpZM4OGJYA .

LegacyKing commented 7 years ago

Hey @thpr - Looking at the legs they had the PREVARGT:Legs,1 which should not have triggered anything. In fact, Limbs is only granted if a creature has a value of 1 or greater... scratching head. Anyways, I fixed the code to PREVAREQ:Var,value... and then set PC characterype AND Humanoid or Monstrous Humanoid to have 2 Arms/Legs by default... just to see if that corrects the issue.

thpr commented 7 years ago

Umm, not sure I understand.

The creature has 2 legs coming into the parent. The parent grants ABILITY FOO if PREVARGT:Legs,1, so it grants FOO. Foo Grants Template "Legs ~ 1" which reduces Legs to one, making the PREVAR now fail, so it revokes FOO and thus revokes the Template "Legs ~ 1". Is that the situation you are describing? If so, that is exactly the type of infinite loop I referred to...

Tom

On Tue, Jun 27, 2017 at 11:19 PM, Andrew Maitland notifications@github.com wrote:

Hey @thpr https://github.com/thpr - Looking at the legs they had the PREVARGT:Legs,1 which should not have triggered anything. In fact, Limbs is only granted if a creature has a value of 1 or greater... scratching head. Anyways, I fixed the code to PREVAREQ:Var,value... and then set PC characterype or Humanoid or Monstrous Humanoid to have 2 Arms/Legs by default... just to see if that corrects the issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PCGen/pcgen/issues/2962#issuecomment-311545639, or mute the thread https://github.com/notifications/unsubscribe-auth/AIbYNh3g18OVRh_3GVwCbNHPL7b3sDZ8ks5sIcYogaJpZM4OGJYA .

LegacyKing commented 7 years ago

Wait, are you saying LEGS:2 is a special var?

thpr commented 7 years ago

I don't understand the question.

On Tue, Jun 27, 2017 at 11:26 PM, Andrew Maitland notifications@github.com wrote:

Wait, are you saying LEGS:2 is a special var?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PCGen/pcgen/issues/2962#issuecomment-311546488, or mute the thread https://github.com/notifications/unsubscribe-auth/AIbYNnfjR_chyQZe1R2ImwVpYb2ClBF6ks5sIcfbgaJpZM4OGJYA .

LegacyKing commented 7 years ago

LEGS:2 -> Is this setting a DEFINE/BONUS VAR called Legs? Because that's the only explanation to fathom why my ability that calls a template to apply LEGS ~ 1 with a PREVARGT:Legs,1 on a race that shouldn't have a Legs var to begin with would be causing this mass confusion.

thpr commented 7 years ago

Yes. Remember in the old variable system LEGS is a "term" - a magical variable.

Tom

On Tue, Jun 27, 2017 at 11:50 PM, Andrew Maitland notifications@github.com wrote:

LEGS:2 -> Is this setting a DEFINE/BONUS VAR called Legs? Because that's the only explanation to fathom why my ability that calls a template to apply LEGS ~ 1 with a PREVARGT:Legs,1 on a race that shouldn't have a Legs var to begin with would be causing this mass confusion.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PCGen/pcgen/issues/2962#issuecomment-311549335, or mute the thread https://github.com/notifications/unsubscribe-auth/AIbYNtXb6xF3UHTUJR00LatH_Xrs1I7-ks5sIc1ugaJpZM4OGJYA .

LegacyKing commented 7 years ago

Okay, now we know...

LegacyKing commented 7 years ago

Fixed...