public void DeepCopyTo(FMCategoriesCollection dest) { dest.Clear(); for (int i = 0; i < _list.Count; i++) { string category = _list[i]; FMTagsCollection srcTags = _dict[category]; var destTags = new FMTagsCollection(srcTags.Count); for (int j = 0; j < srcTags.Count; j++) { destTags.Add(srcTags[j]); } dest.Add(category, destTags); } }