return invoke(object, getIndex(methodName, args == null ? 0 : args.length), args);
}
public int getIndex (String methodName) {
for (int i = 0, n = methodNames.length; i < n; i++)
if (methodNames[i].equals(methodName)) return i;
<BUG>throw new IllegalArgumentException("Unable to find public method: " + methodName);
</BUG>
}
public int getIndex (String methodName, Class... paramTypes) {
for (int i = 0, n = methodNames.length; i < n; i++)

return invoke(object, getIndex(methodName, args == null ? 0 : args.length), args);
}
public int getIndex (String methodName) {
for (int i = 0, n = methodNames.length; i < n; i++)
if (methodNames[i].equals(methodName)) return i;
throw new IllegalArgumentException("Unable to find non-private method: " + methodName);
}
public int getIndex (String methodName, Class... paramTypes) {
for (int i = 0, n = methodNames.length; i < n; i++)
