public void updateCultureForCharacter(CK2Character character, bool canOverwrite, HashSet <int> processed) { bool hasChar = !(processed.Add(character.getFamilyTreeID())); if (hasChar) { return; } if (character.getCulture() == null || character.getCulture() == "" || canOverwrite) { character.setCulture(this.culture); } CK2Character father = character.getFather(); if (father != null) { updateCultureForCharacter(father, canOverwrite, processed); } List <CK2Character> children = character.getChildren(); if (children != null) { foreach (CK2Character child in children) { updateCultureForCharacter(child, canOverwrite, processed); } } }