void (@NotNull NewVirtualFileSystem vfs, @NotNull String path, @NotNull Consumer<? super @Nullable NewVirtualFile> consumer) { ProcessIOExecutorService.INSTANCE.execute(() -> { Pair<NewVirtualFile, Iterable<String>> rootAndPath = prepare(vfs, path); if (rootAndPath == null) { consumer.accept(null); } else { refreshAndFindFileByPath(rootAndPath.first, rootAndPath.second.iterator(), consumer); } }); }