@ApiStatus.Experimental
  public static void refreshAndFindFileByPath(@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);
      }
    });
  }
@ApiStatus.Experimental
  public static void refreshAndFindFileByPath(@NotNull NewVirtualFileSystem vfs, @NotNull String path, @NotNull Consumer<? super @Nullable NewVirtualFile> consumer)