*/
boolean typesMatch(JClassType type1, JClassType type2,
Map<JTypeParameter, JClassType> constraints) {
JGenericType type1Generic = type1.isGenericType();
if (type1Generic != null) {
return typesMatch(type1Generic.asParameterizedByWildcards(), type2,
constraints);
}
JGenericType type2Generic = type2.isGenericType();
if (type2Generic != null) {