diff --git a/platform/core-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java b/platform/core-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java index 5702cf351133..d972b22044df 100644 --- a/platform/core-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java @@ -405,8 +405,8 @@ public class VirtualFilePointerContainerImpl extends TraceableDisposable impleme if (!jars.contains(pointer)) toAddJars.add(pointer); if (!list.contains(pointer)) toAddList.add(pointer); }); - (recursively ? myJarRecursiveDirectories : myJarDirectories).addAll(toAddJars); - myList.addAll(toAddList); // hack. jar directories need to be contained in class roots too (for externalization compatibility) but be ignored in getFiles() + (recursively ? myJarRecursiveDirectories : myJarDirectories).addAllAbsent(toAddJars); + myList.addAllAbsent(toAddList); // hack. jar directories need to be contained in class roots too (for externalization compatibility) but be ignored in getFiles() dropCaches(); }