import java.lang.reflect.InvocationTargetException;\r
import java.lang.reflect.ParameterizedType;\r
import java.lang.reflect.Type;\r
+import java.lang.reflect.TypeVariable;\r
import java.util.ArrayList;\r
import java.util.Collection;\r
import java.util.Collections;\r
if(d.getName().equals(param)) {\r
ParameterizedType pt = (ParameterizedType) d.getReadMethod().getGenericReturnType();\r
collectionEntitiyType = pt.getActualTypeArguments()[0];\r
+ if(collectionEntitiyType instanceof TypeVariable) {\r
+ collectionEntitiyType = ((TypeVariable)collectionEntitiyType).getBounds()[0];\r
+ }\r
}\r
}\r
\r