private void LoadBackgroundList(IList <uIVirtualDesktop> list, IEnumerable <Guid> uuids) { uint index = 0; foreach (var guid in uuids) { var existingDesktop = list.FirstOrDefault(desktop => desktop.Guid.Equals(guid)); if (existingDesktop != null) { list.Remove(existingDesktop); } list.Add(_desktopFactory.DesktopFrom(guid, index, _windowsDesktop)); index++; } }