if (paramType.getName().equals(returnTypeComp.getName())) {
return returnType.isArray()?receiver:receiver.getComponentType();
}
}
}
<BUG>if (!returnType.isUsingGenerics()) return returnType;
GenericsType[] returnTypeGenerics = returnType.getGenericsTypes();
List<GenericsType> placeholders = new LinkedList<GenericsType>();</BUG>
for (GenericsType returnTypeGeneric : returnTypeGenerics) {
if (returnTypeGeneric.isPlaceholder() || returnTypeGeneric.isWildcard()) {

if (paramType.getName().equals(returnTypeComp.getName())) {
return returnType.isArray()?receiver:receiver.getComponentType();
}
}
}
if (!isUsingGenericsOrIsArrayUsingGenerics(returnType)) return returnType;
GenericsType[] returnTypeGenerics = returnType.isArray()?returnType.getComponentType().getGenericsTypes():returnType.getGenericsTypes();
List<GenericsType> placeholders = new LinkedList<GenericsType>();
for (GenericsType returnTypeGeneric : returnTypeGenerics) {
if (returnTypeGeneric.isPlaceholder() || returnTypeGeneric.isWildcard()) {
