PsiType (List<Mixin> mixins) { List<PsiType> types = mixins.stream() .filter(it -> !it.myNegated) .map(it -> it.myType) .collect(toList()); return types.isEmpty() ? null : PsiIntersectionType.createIntersection(types); }