private FileSystemProvider getProvider(Path... path) {
    FileSystemProvider provider = null;
    for (Path p : path) {
      FileSystemProvider current = getProvider(p);
      if (provider == null) {
        provider = current;
        continue;
      }
      if (current != provider) throw new IllegalArgumentException("Provider mismatch");
    }
    return Objects.requireNonNull(provider);
  }
private FileSystemProvider getProvider(Path... path)