### Question:
ReflectionHelper { @Nullable public static Object invokeMethod(Method method, Object target) { return ReflectionUtils.invokeMethod(method, target); }  static boolean hasAnnotation(Method method, Class<A> annotationType); @Nullable static A findAnnotation(Method method, Class<A> annotationType); @Nullable static A findAnnotation(Class<?> clazz, Class<A> annotationType); @Nullable static Object invokeMethod(Method method, Object target); static Set<Method> getterMethods(Class<?> clazz); static String propertyNameOfGetter(Method method); @Nullable static T propertyValueByName(Object targetObject, String propertyName, Class<T> clazz); @Nullable static Method propertyGetter(Object obj, String propertyName);  }### Answer:
@Test public void testInvokeMethod() { assertEquals("hello", ReflectionHelper.invokeMethod(childABar, childAObj)); }
@Test(expected = IllegalArgumentException.class) public void testInvokeMethodBadMethod() { ReflectionHelper.invokeMethod(childBMeth, childAObj); }