assertNotNull(md1); assertEquals(m, md1.getMethod()); assertArrayEquals(params, getRawParameterTypes(md1)); assertEquals(void.class, md1.getRawReturnType()); assertNull(md1.getRawReturnComponentType()); assertArrayEquals(params, getRawParameterTypes(md2)); assertEquals(List.class, md2.getRawReturnType()); assertEquals(List.class, md2.getRawReturnComponentType()); assertArrayEquals(params, getRawParameterTypes(md3)); assertEquals(List.class, md3.getRawReturnType()); assertEquals(Object.class, md3.getRawReturnComponentType()); assertArrayEquals(new Class[] {List.class}, getRawParameterTypes(md4)); assertEquals(List.class, md4.getRawReturnType()); assertEquals(Byte.class, md4.getRawReturnComponentType()); assertArrayEquals(new Class[] {List.class}, getRawParameterTypes(md5)); assertEquals(List.class, md5.getRawReturnType()); assertEquals(Object.class, md5.getRawReturnComponentType()); assertArrayEquals(params2, getRawParameterTypes(md3)); assertArrayEquals(params2, getRawParameterTypes(md3)); assertEquals(List.class, md3.getRawReturnType()); assertEquals(Integer.class, md3.getRawReturnComponentType()); assertArrayEquals(new Class[] {List.class}, getRawParameterTypes(md5));