public LibKeyMap <TItem> OverrideWith(LibKeyMap <TItem> overrides) { var newKeys = _index.MergeKeys(overrides._index); var newItems = ImmutableList.ValueOf(newKeys.Select(key => { TItem item; if (!overrides.TryGetValue(key, out item)) { bool b = TryGetValue(key, out item); Assume.IsTrue(b); } return(item); })); return(new LibKeyMap <TItem>(newItems, newKeys)); }
public override bool TryGetValue(LibKey key, out TItem value) { return(_libKeyMap.TryGetValue(key, out value)); }