private ScriptEngine GetEngineNoLockNoNotification(LanguageContext language, out bool freshEngineCreated) {
Debug.Assert(_engines != null, "Invalid ScriptRuntime initialiation order");
ScriptEngine engine;
if (freshEngineCreated = !_engines.TryGetValue(language, out engine)) {
engine = new ScriptEngine(this, language);
Thread.MemoryBarrier();
_engines.Add(language, engine);
}
return engine;
}