public void RemoveDriver(DriverTiming driver) { if (!Application.Current.Dispatcher.CheckAccess()) { Application.Current.Dispatcher.Invoke(() => RemoveDriver(driver)); return; } lock (_lockObject) { DriverTimingViewModel toRemove = DriversViewModels.FirstOrDefault(x => x.DriverTiming == driver); if (toRemove == null) { return; } _driverNameTimingMap.Remove(driver.Name); DriversViewModels.Remove(toRemove); } }