org_aspectj_testing_xml_AjcSpecXmlReaderTest_java
org.apache.commons.beanutils.MethodUtils
public static Object invokeMethod(Object object, String methodName, Object[] args, Class[] parameterTypes) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
        Method method = MethodUtils.getMatchingAccessibleMethod(object.getClass(), methodName, parameterTypes);
        if (method == null) {
            throw new NoSuchMethodException("No such accessible method: " + methodName + "() on object: " + object.getClass().getName());
        }
        return method.invoke(object, args);
    }
 -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getMethods(): java.lang.reflect.Method[] -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.ArrayList.add(java.lang.Object): boolean
 [CALL] -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.getMethods(): java.lang.reflect.Method[] -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] [CALL] -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT]