public TValue GetOrAdd(TKey key)
        {
            TValue value;

            if (!Source.ContainsKey(key))
            {
                value = DefaultValueBuilder.Invoke(key);
                Source.AddOrUpdate(key, value, (k, v) => value);
            }

            Source.TryGetValue(key, out value);
            return(value);
        }
 public void AddOrUpdate(TKey key, TValue value)
 => Source.AddOrUpdate(key, value, (k, v) => value);