public static Object invokeMethod(Method method, Object target, Object... args) {
        try {
            return method.invoke(target, args);
        } catch (Exception ex) {
            handleReflectionException(ex);
        }
        throw new IllegalStateException("Should never get here");
    }
@Test
    void testInvokeMethod() throws Exception {
        Method method = listStr.getClass().getDeclaredMethod("grow", int.class);
        method.setAccessible(true);
        ReflectUtils.invokeMethod(method, listStr, 4);
        Object elementData = ReflectUtils.getFieldValue(listStr, "elementData");
        assertEquals(4, ((Object[]) elementData).length);
    }