public EtagSynchronizer GetSynchronizer(EtagSynchronizerType type)
{
EtagSynchronizer value;
if (etagSynchronizers.TryGetValue(type, out value))
return value;
lock (this)
{
if (etagSynchronizers.TryGetValue(type, out value))
return value;
value = new EtagSynchronizer(type, transactionalStorage);
etagSynchronizers = new Dictionary<EtagSynchronizerType, EtagSynchronizer>(etagSynchronizers)
{
{type, value}
};
return value;
}
}