internal void UpdateEntry([NotNull] string id, [NotNull] KunosCareerProgressEntry entry, bool globalUpdate) {
if (id == null) throw new ArgumentNullException(nameof(id));
if (entry == null) throw new ArgumentNullException(nameof(entry));
id = id.ToLowerInvariant();
var data = Entries.ToDictionary(x => x.Key.ToLowerInvariant(), x => x.Key.Equals(id, StringComparison.OrdinalIgnoreCase) ? entry : x.Value);
if (!data.ContainsKey(id)) {
data[id] = entry;
}
if (globalUpdate) {
Entries = data;
} else {
_entries = data;
SaveLater();
}
}