diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/RootFileElement.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/RootFileElement.java index 66662a466a3e..fcefe4c4ce5a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/RootFileElement.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/RootFileElement.java @@ -30,17 +30,21 @@ import java.util.List; import java.util.Set; public class RootFileElement extends FileElement { - private final VirtualFile[] myFiles; + private VirtualFile[] myFiles; private Object[] myChildren; - public RootFileElement(@NotNull final VirtualFile[] files, final String name, final boolean showFileSystemRoots) { + public RootFileElement(@NotNull VirtualFile[] files, String name, boolean showFileSystemRoots) { super(files.length == 1 ? files[0] : null, name); - myFiles = files.length == 0 && showFileSystemRoots ? getFileSystemRoots() : files; + myFiles = files.length == 0 && showFileSystemRoots ? null : files; } public Object[] getChildren() { if (myChildren == null) { - final List children = new ArrayList(); + if (myFiles == null) { + myFiles = getFileSystemRoots(); + } + + List children = new ArrayList(); for (final VirtualFile file : myFiles) { if (file != null) { children.add(new FileElement(file, file.getPresentableUrl()));