public XLoper execute(IFunctionContext context, XLoper[] args) throws RequestException {
Context ctx = Context.enter();
Object[] oargs = converter.convert(args, BSFScript.createArgHints(args));
ScriptableObject so = ctx.initStandardObjects();
Scriptable argsObj = ctx.newArray(so, oargs);
so.defineProperty("args", argsObj, ScriptableObject.DONTENUM);
try {
return converter.createFrom(script.exec(ctx, so));
} catch (Throwable t) {
throw new RequestException(t.getMessage());
}