diff --git a/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java b/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java index 0624a9d9eea0..8c13cd7582c6 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java @@ -68,9 +68,12 @@ public class PsiIntersectionType extends PsiType { PsiType type = iterator.next(); for (PsiType existing : array) { - if (type != existing && TypeConversionUtil.isAssignable(type, existing, false)) { - iterator.remove(); - break; + if (type != existing) { + final boolean allowUncheckedConversion = type instanceof PsiClassType && ((PsiClassType)type).isRaw(); + if (TypeConversionUtil.isAssignable(type, existing, allowUncheckedConversion)) { + iterator.remove(); + break; + } } } }