protected override ImmutableSortedDictionary <TKey, TValue> SetValues(ImmutableSortedDictionary <TKey, TValue> values, ref ArraySegment <KeyValuePair <TKey, TValue> > newValues, ISerializationContext context) { if (newValues.Count == 1) { var pair = newValues.Singleton(); return(values.SetItem(pair.Key, pair.Value)); } return(values.SetItems(newValues)); }