public Burden GetCachedInstance(ComponentModel instance, ScopedInstanceActivationCallback createInstance)
{
using (var token = @lock.ForReadingUpgradeable())
{
var burden = cache[instance];
if (burden == null)
{
token.Upgrade();
burden = createInstance(delegate { });
cache[instance] = burden;
}
return burden;
}
}