Method.getGenericParameterTypes() and Method.getGenericReturnType() are not returning the proper results if the target object was enhanced with cglib.
In the attached sample the output for the non-enhanced object is:
java.util.List<java.lang.String> : java.util.List<java.lang.Integer>
for the enhanced object:
interface java.util.List : interface java.util.List
This missing information is crucial for some applications. For instance, in Spring's BeanWrapperImpl it's used to convert bean property values to the proper type before binding.
EnhancedClassLosesGenericInfo