diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 6fe68c1949a6..118042b7cf32 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -644,12 +644,13 @@ public class ExternalAnnotationsManagerImpl extends ExternalAnnotationsManager { if (virtualFile == null) { return null; } + + List possibleAnnotationsXmls = new ArrayList(); final List entries = ProjectRootManager.getInstance(project).getFileIndex().getOrderEntriesForFile(virtualFile); for (OrderEntry entry : entries) { if (entry instanceof ModuleOrderEntry) { continue; } - List possibleAnnotationsXmls = null; final String[] externalUrls = AnnotationOrderRootType.getUrls(entry); for (String url : externalUrls) { VirtualFile root = VirtualFileManager.getInstance().findFileByUrl(url); @@ -658,15 +659,12 @@ public class ExternalAnnotationsManagerImpl extends ExternalAnnotationsManager { if (ext == null) continue; final PsiFile psiFile = myPsiManager.findFile(ext); if (!(psiFile instanceof XmlFile)) continue; - if (possibleAnnotationsXmls == null) { - possibleAnnotationsXmls = new ArrayList(); - } possibleAnnotationsXmls.add((XmlFile)psiFile); } - if (possibleAnnotationsXmls != null) { - myExternalAnnotations.put(fqn, possibleAnnotationsXmls); - return possibleAnnotationsXmls; - } + } + if (!possibleAnnotationsXmls.isEmpty()) { + myExternalAnnotations.put(fqn, possibleAnnotationsXmls); + return possibleAnnotationsXmls; } myExternalAnnotations.put(fqn, NULL); return null;