private static void collectChildrenRecursively( @NotNull VirtualFile root, @NotNull VirtualFile anchor, @NotNull Collection<VirtualFile> result) { if (root == anchor) { return; } VirtualFile parent = anchor.getParent(); if (parent == null) { return; } for (VirtualFile child : parent.getChildren()) { if (child != anchor) { result.add(child); } } if (parent != root) { collectChildrenRecursively(root, parent, result); } }