private static @Nls String getConjunctsConflict(PsiIntersectionType type) {
    PsiType[] conjuncts = type.getConjuncts();
    for (int i = 0; i < conjuncts.length; i++) {
      PsiClass conjunct = PsiUtil.resolveClassInClassTypeOnly(conjuncts[i]);
      for (int i1 = 0; i1 < conjuncts.length; i1++) {
        if (i == i1) continue;
        PsiClass oppositeConjunct = PsiUtil.resolveClassInClassTypeOnly(conjuncts[i1]);
        if (conjunct == null || oppositeConjunct == null) {
          if (conjuncts[i] instanceof PsiArrayType &&
              TypesDistinctProver.proveArrayTypeDistinct((PsiArrayType)conjuncts[i], conjuncts[i1]) ||
              conjuncts[i] instanceof PsiCapturedWildcardType &&
              oppositeConjunct != null && !oppositeConjunct.isInterface() && !(oppositeConjunct instanceof PsiTypeParameter) &&
               !(((PsiCapturedWildcardType)conjuncts[i]).getWildcard().isSuper() && TypeConversionUtil.isAssignable(conjuncts[i1], ((PsiCapturedWildcardType)conjuncts[i]).getLowerBound()))) {
            return JavaPsiBundle.message("conflicting.conjuncts", conjuncts[i].getPresentableText(), conjuncts[i1].getPresentableText());
          }
        }
      }
    }
    return null;
  }
private static @Nls String getConjunctsConflict(PsiIntersectionType type)