Stream<PsiAnnotation> ( @NotNull PsiModifierListOwner listOwner, @NotNull Collection<String> annotations ) { Stream<PsiAnnotation> stream = findMetaAnnotations(listOwner, annotations); if (listOwner instanceof PsiClass) { for (PsiClass superClass : ((PsiClass)listOwner).getSupers()) { stream = Stream.concat(stream, findMetaAnnotations(superClass, annotations)); } } else if (listOwner instanceof PsiMethod) { for (PsiMethod method : ((PsiMethod)listOwner).findSuperMethods()) { stream = Stream.concat(stream, findMetaAnnotations(method, annotations)); } } return stream; }