if (function == null) throw new EvalException("function is not found: " + funcName);
if (function.language == null) throw new EvalException("function.language is null: " + funcName);
try {
Invoker invoker = InvokerFactory.getInstance().getInvoker(function);
Object[] params = createParams(script, model, functions);
return invoker.invoke(function, params);
} catch (SecurityException e) {
throw new EvalException("function:" + function, e);
} catch (IllegalArgumentException e) {
throw new EvalException("function:" + function, e);
} catch (NoSuchMethodException e) {