public void GetObjectData(ISerializationData dataHolder)
 {
     dataHolder.SetValue("ScenarioName", ScenarioName);
     if (CharacterSources.Any())
     {
         dataHolder.SetValue("Characters", CharacterSources.ToArray());
     }
 }
 public void RemoveCharacters(IList <string> charactersToRemove)
 {
     foreach (var characterName in charactersToRemove)
     {
         var characterSource = CharacterSources.FirstOrDefault(c => c.Name == characterName);
         var character       = Characters.FirstOrDefault(c => c.CharacterName == characterName);
         if (characterSource != null)
         {
             this.CharacterSources.Remove(characterSource);
         }
         if (character != null)
         {
             this.Characters.Remove(character);
         }
     }
 }