public void PerformMerge() { var allBuildingBlockToMergeMapping = _allBuildingBlockMappings.Where(selectionIsDefined).ToList(); var buildingBlocksToMerge = allBuildingBlockToMergeMapping.Select(x => x.BuildingBlockToMerge).ToList(); var projectBuildingBlocks = allBuildingBlockToMergeMapping.Select(x => realBuildingBlockFrom(x.ProjectBuildingBlock)).ToList(); try { AddCommand(_mergeTask.MergeBuildingBlocks(buildingBlocksToMerge, projectBuildingBlocks, _cancellationTokenSource.Token)); } catch (OperationCanceledException) { } }