FileSystems.getDefault has a confusing statement for the case that the default provider is replaced. It states:
"The last provider to be instantiated becomes the default provider; its getFileSystem method is invoked with the URI "file:///" to create the default file system."
This isn't quite right, as the getFileSystem method is used to get a reference to a file system (not create it). This should be re-worded to say that the getFileSystem method is used to get a reference to the default file system that is created automatically, or thaht the newFileSystem(URI) method is invoked to create the default file system.
See background discussion at: