protected IHandler GetSubHandler(Type genericType, Type requestedType)
{
var added = false;
var handler = type2SubHandler.GetOrAdd(genericType, t =>
{
added = true;
return BuildSubHandler(t, requestedType);
});
if (added)
{
// we do it outside of BuildSubHandler to avoid deadlocks
Kernel.RaiseEventsOnHandlerCreated(handler);
}
return handler;
}