List<AnnotationData> (@NotNull String externalName, @NotNull List<? extends PsiFile> annotationsFiles, boolean onlyWritable) { SmartList<AnnotationData> result = new SmartList<>(); for (PsiFile file : annotationsFiles) { if (!file.isValid()) continue; if (onlyWritable && !file.isWritable()) continue; MostlySingularMultiMap<String, AnnotationData> fileData = getDataFromFile(file); ContainerUtil.addAll(result, fileData.get(externalName)); } if (result.isEmpty()) return NO_DATA; result.trimToSize(); return result; }