PsiType (@NotNull Iterable<? extends PsiType> collection, @NotNull PsiManager manager) { Iterator<? extends PsiType> iterator = collection.iterator(); PsiType result = null; while (iterator.hasNext()) { result = getLeastUpperBoundNullable(result, iterator.next(), manager); } return result; }