private void RemoveDefeatedInternalThreats() { var newlyDefeatedThreats = sittingDuck.CurrentInternalThreats.Where(externalThreat => externalThreat.IsDestroyed).ToList(); foreach (var defeatedThreat in newlyDefeatedThreats) { sittingDuck.CurrentInternalThreats.Remove(defeatedThreat); } internalTrack.RemoveThreats(newlyDefeatedThreats); defeatedThreats.AddRange(newlyDefeatedThreats); }