The new logic seems to be treating the `/` as a kind of tag.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because the return value of "java.util.Map.get(Object)" is null
at com.CyanCorn.portrait.main.PortraitObject.doesThisCategoryHaveThisString(PortraitObject.java:355)
at com.CyanCorn.portrait.main.PortraitObject.getMyTagsFromThisCategory(PortraitObject.java:347)
at com.CyanCorn.portrait.main.PortraitObject.apply(PortraitObject.java:322)
at com.CyanCorn.portrait.main.PortraitObject.setMetaData(PortraitObject.java:399)
at com.CyanCorn.portrait.GUI.GUIFactory.applyButtonClicked(GUIFactory.java:1343)
Specifically, that line is looking for a key named `/` instead of one of the actual tag names (like `Races`). It's likely that PortraitObject.apply needs to be updated to handle `/` instead of `\\`. It also wouldn't hurt to throw a little null safety in there.
This bug might also affect Windows, now that I think about it.