public Type Get(Type type, Type interfaceType)
{
ConcurrentDictionary<Type, Type> typeCache = _cache.GetOrAdd(type, x => new ConcurrentDictionary<Type, Type>());
return typeCache.GetOrAdd(interfaceType, x => GetInterfaceInternal(type, interfaceType));
}