@NotNull
  public static PsiType createDisjunction(@NotNull List<PsiType> types, @NotNull PsiManager psiManager) {
    assert !types.isEmpty();
    return types.size() == 1 ? types.get(0) : new PsiDisjunctionType(types, psiManager);
  }
@NotNull
  public static PsiType createDisjunction(@NotNull List<PsiType> types, @NotNull PsiManager psiManager)