public TypeFactoryDefinition GetTypeFactoryDefinition(TypeFactoryMap map, Stack<TypeFactoryMap> current)
{
var definition = new TypeFactoryDefinition(map, current);
TypeFactoryDefinition result = null;
if (!typeFactoryDefinitions.TryGetValue(definition, out result))
{
lock (syncLock)
{
if (!typeFactoryDefinitions.TryGetValue(definition, out result))
{
typeFactoryDefinitions.Add(definition, definition);
result = definition;
}
}
}
return result;
}