public void Merge(Coin coin) { foreach (var coinExchange in coin.Exchanges) { Exchanges.Add(coinExchange); } foreach (var coinMarket in coin.Markets) { foreach (var item in coinMarket.Value) { Markets.AddOrAppend(coinMarket.Key, item, (key, value) => { Markets[coinMarket.Key].Add(item); }); } } foreach (var coinExchangeSettingse in coin.Settings) { Settings[coinExchangeSettingse.Key] = coinExchangeSettingse.Value; } }