private void RemoveItemFilterBlockviewModels(IEnumerable <IItemFilterBlockBase> itemFilterBlocks) { foreach (var itemFilterBlock in itemFilterBlocks) { var itemFilterBlockViewModel = ItemFilterBlockViewModels.FirstOrDefault(f => f.BaseBlock == itemFilterBlock); if (itemFilterBlockViewModel == null) { throw new InvalidOperationException("Item Filter Block removed from model but does not exist in view model!"); } ItemFilterBlockViewModels.Remove(itemFilterBlockViewModel); if (SelectedBlockViewModel == itemFilterBlockViewModel) { SelectedBlockViewModel = null; } } }