@Test
public void testMethodParameterTypeToString() {

    Method method = null;
    for (Method m : MethodParameterType.class.getDeclaredMethods()) {
        method = m;
    }
    Type[] types = method.getGenericParameterTypes();
    assertEquals(Object.class, ReflectionUtil.getRawType(types[0], MethodParameterType.class));
    assertEquals(String.class, ReflectionUtil.getRawType(types[1], MethodParameterType.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[2], MethodParameterType.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[3], MethodParameterType.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[4], MethodParameterType.class));
    // same methods, using different impl class
    assertEquals(Long.class, ReflectionUtil.getRawType(types[0], Mimple.class)); // change!
    assertEquals(String.class, ReflectionUtil.getRawType(types[1], Mimple.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[2], Mimple.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[3], Mimple.class));
    assertEquals(List.class, ReflectionUtil.getRawType(types[4], Mimple.class));
}