Patch 4

I add th code in TypeUtils and TypeUtilsTest.

In isAssignable method, the case when parameter is TypeVariable is added.

This is reported in Jira SPR-9719: TypeUtils.isAssignable does not recognize TypeVariable types

After checking if lhsType is instanceof Class<?>, rhsType will be check TypeVariable.

===================================================================
else if(rhsType instanceof TypeVariable) {
   Type[] types = ((TypeVariable<?>)rhsType).getBounds();

    for(int i=0; i<types.length; i++) {
       if(isAssignable(lhsClass, types[i])) return true;
    }
}
===================================================================

Please consider this.

I hope that I can contribute.
Thanks.