private void MergeExistingClickers(IGrouping<string, ClickGenerator> clickerTypeWithLargestNumberOfVisible) { var typeName = clickerTypeWithLargestNumberOfVisible.Key; var clickersWithLeastStacked = clickerTypeWithLargestNumberOfVisible .Except(GetAlreadyMergingClickers(typeName)) .OrderBy(x => x.StackedClickers) .Take(2) .ToList(); if (_clickersToMerge.ContainsKey(typeName)) { var clickerMerge = _clickersToMerge[typeName]; clickerMerge.AddClickers(clickersWithLeastStacked); } else { _clickersToMerge.Add(typeName, new ClickerMerge(typeName, clickersWithLeastStacked)); } }