for (int i = 0, size = arguments.size(); i < size; i++) {
Completer argCompleter = NullCompleter.INSTANCE;
Method method = methods.get(i);
if (method != null) {
// lets invoke the method
Action action = function.createNewAction();
try {
Object value = method.invoke(action);
if (value instanceof String[]) {
argCompleter = new StringsCompleter((String[]) value);
} else if (value instanceof Collection) {