@NotNull
  FileSystem getBackend(@NotNull String root) {
    // It's important that the backends are sorted by the root length in the reverse order. Otherwise, prefixes won't work correctly.
    for (Backend backend : myBackends.get()) {
      if (backend.matchRoot(root)) {
        return backend.fileSystem;
      }
    }
    return myLocalFS;
  }
@NotNull
  FileSystem getBackend(@NotNull String root)