public static Class getCollectionParameterClass(Class<?> clazz, Type type) {
if (Collection.class.isAssignableFrom(clazz)) {
if (type instanceof ParameterizedType) {
ParameterizedType paramType = (ParameterizedType) type;
Type[] actualTypeArguments = paramType.getActualTypeArguments();
if (actualTypeArguments != null && actualTypeArguments.length == 1) {
return (Class) actualTypeArguments[0];
}
}
}
return null;
}