private <T> T runInContext(
Context context, Map<String, ?> actuals, Class<T> expectedResultType)
throws AbnormalExitException {
ScriptableObject globalScope = context.initStandardObjects();
try {
globalScope.defineProperty(
"scriptEngine___", new ScriptPowerBox(context, globalScope),
ScriptableObject.DONTENUM);
Object eval = actuals.remove("eval___");
ScriptableObject.putProperty(globalScope, "eval___", eval);
for (Map.Entry<String, ?> e : actuals.entrySet()) {