List<AnnotationDocGenerator> (@NotNull PsiModifierListOwner owner) { Set<String> shownAnnotations = new HashSet<>(); return StreamEx.of(AnnotationUtil.getAllAnnotations(owner, false, null)) .filter(owner instanceof PsiClass || owner instanceof PsiJavaModule ? Predicates.alwaysTrue() : anno -> !AnnotationTargetUtil.isTypeAnnotation(anno) || AnnotationUtil.isInferredAnnotation(anno) || AnnotationUtil.isExternalAnnotation(anno)) .map(annotation -> forAnnotation(owner, shownAnnotations, annotation)) .nonNull() .toList(); }