public static Object callMethodOrAccessFieldIfMatchingMethodNotFound(Class clazz, Object instance, String methodName, List<String> validMethodPrefixes, Args args) {
int argumentsSize = args == null ? 0 : args.getArguments().size();
Object[] arguments = new Object[argumentsSize];
for (int i=0; i<argumentsSize; i++) {
Data argument = args.getArguments().get(i);
arguments[i] = argument.evaluate();
}
return callMethodOrAccessFieldIfMatchingMethodNotFound(clazz, instance, methodName, validMethodPrefixes, arguments);
}