void (Collection<? extends PsiType> eqBounds, Collection<? extends PsiType> upperBounds) { for (PsiType upperBound : upperBounds) { if (upperBound == null || PsiTypes.nullType().equals(upperBound) || upperBound instanceof PsiWildcardType) continue; for (PsiType eqBound : eqBounds) { if (eqBound == null || PsiTypes.nullType().equals(eqBound) || eqBound instanceof PsiWildcardType) continue; if (Registry.is("javac.unchecked.subtyping.during.incorporation", true)) { if (TypeCompatibilityConstraint.isUncheckedConversion(upperBound, eqBound, mySession)) { if (PsiUtil.resolveClassInType(eqBound) instanceof PsiTypeParameter && !mySession.isProperType(upperBound)) { mySession.setErased(); } continue; } if (!mySession.isProperType(upperBound) && eqBound instanceof PsiCapturedWildcardType && TypeCompatibilityConstraint.isUncheckedConversion(upperBound, ((PsiCapturedWildcardType)eqBound).getUpperBound(), mySession)) { mySession.setErased(); continue; } } addConstraint(new StrictSubtypingConstraint(upperBound, eqBound)); } } }