diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/AnnotationOrderRootType.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/AnnotationOrderRootType.java index 9e4e64190bf2..531d44b0330c 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/AnnotationOrderRootType.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/AnnotationOrderRootType.java @@ -33,29 +33,18 @@ public class AnnotationOrderRootType extends PersistentOrderRootType { public static VirtualFile @NotNull [] getFiles(@NotNull OrderEntry entry) { List result = new ArrayList<>(); - RootPolicy> policy = new RootPolicy<>() { - @Override - public List visitLibraryOrderEntry(@NotNull final LibraryOrderEntry orderEntry, final List value) { - Collections.addAll(value, orderEntry.getRootFiles(getInstance())); - return value; + if (entry instanceof LibraryOrderEntry orderEntry) { + Collections.addAll(result, orderEntry.getRootFiles(getInstance())); + } + else if (entry instanceof JdkOrderEntry orderEntry) { + Collections.addAll(result, orderEntry.getRootFiles(getInstance())); + } + else if (entry instanceof ModuleSourceOrderEntry orderEntry) { + JavaModuleExternalPaths moduleExtension = orderEntry.getRootModel().getModuleExtension(JavaModuleExternalPaths.class); + if (moduleExtension != null) { + Collections.addAll(result, moduleExtension.getExternalAnnotationsRoots()); } - - @Override - public List visitJdkOrderEntry(@NotNull final JdkOrderEntry orderEntry, final List value) { - Collections.addAll(value, orderEntry.getRootFiles(getInstance())); - return value; - } - - @Override - public List visitModuleSourceOrderEntry(@NotNull ModuleSourceOrderEntry orderEntry, List value) { - JavaModuleExternalPaths moduleExtension = orderEntry.getRootModel().getModuleExtension(JavaModuleExternalPaths.class); - if (moduleExtension != null) { - Collections.addAll(value, moduleExtension.getExternalAnnotationsRoots()); - } - return value; - } - }; - entry.accept(policy, result); + } return VfsUtilCore.toVirtualFileArray(result); }