Iterable<VirtualFile> () { if (!getPersistence().wereChildrenAccessed(this)) { return Collections.emptyList(); } if (getPersistence().areChildrenLoaded(this)) { return Arrays.asList(getChildren()); // may load VFS from other projects } loadPersistedChildren(); return getCachedChildren(); }