private void mergeVersionedItem(List <KeyValuePair <string, string> > setting, ConfigItem <KeyValuePair <string, string>[]> settingToMerge) { if (!settingToMerge.WasReadFromConfig) { return; } if (settingToMerge.ShouldExclude) { setting.Clear(); return; } if (settingToMerge.ShouldMerge) { foreach (var mergedItem in settingToMerge.Value) { setting.RemoveAll(x => x.Key.Equals(mergedItem.Key)); setting.Add(mergedItem); } return; } setting.Clear(); setting.AddRange(settingToMerge.Value); }