internal void Merge(IEnumerable <Mission> additional) { foreach (var m in additional) { var existing = MissionList.FirstOrDefault((x) => x.ID == m.ID); if (existing != null) { existing.UnlockTime = m.UnlockTime; // Refresh cycle will trigger PropertyChanged } else { MissionList.Add(m); } } }