// here the magic happens. If the return type of the implemented function is
// a ValueHolder then we create an AtFunctionGeneric. You have to do multi value handling
// otherwise an AtFunctionSimple is created that does multi value handling for you.
Function f;
if (ValueHolder.class.isAssignableFrom(method.getReturnType())) {
f = new AtFunctionGeneric(methodName, method);
} else {
f = new AtFunctionSimple(methodName, method);
}
ret.put(f.getImage().toLowerCase(), f);
} else {