// Evaluates all parameters
final Object[] parameters = new Object[function.getExpressions().length];
for (int i = 0; i < parameters.length; i++) {
parameters[i] = evaluate(function.getExpressions()[i]);
}
final CustomFunction customFunction = customFunctions.get(function.getIdentifier());
if (customFunction != null) {
// Calls external implementation
result = customFunction.evaluate(parameters);
// If an external implementation was used get the result back
if (result != null) {
return;
}
}