ClassUtils.isJavaBeanGetterMethod(allclsMethods[i]) && !ClassUtils.isInnerClass(allclsMethods[i].getName()) &&
allclsMethods[i].getGenericReturnType() != null && allclsMethods[i].getGenericReturnType() instanceof TypeVariable)
{
TypeVariable methodTypeVar = (TypeVariable) allclsMethods[i].getGenericReturnType();
Class declCls = allclsMethods[i].getDeclaringClass();
<BUG>TypeVariable[] declTypes = declCls.getTypeParameters();
if (declTypes != null)</BUG>
{
for (int j=0;j<declTypes.length;j++)
{

ClassUtils.isJavaBeanGetterMethod(allclsMethods[i]) && !ClassUtils.isInnerClass(allclsMethods[i].getName()) &&
allclsMethods[i].getGenericReturnType() != null && allclsMethods[i].getGenericReturnType() instanceof TypeVariable)
{
TypeVariable methodTypeVar = (TypeVariable) allclsMethods[i].getGenericReturnType();
Class declCls = allclsMethods[i].getDeclaringClass();
TypeVariable[] declTypes = declCls.getTypeParameters();
String propertyName = ClassUtils.getFieldNameForJavaBeanGetter(allclsMethods[i].getName());
String propertyNameFull = allclsMethods[i].getDeclaringClass().getName() + "." + propertyName;
if (declTypes != null)
{
for (int j=0;j<declTypes.length;j++)
{
