I actually thought `new URI("file:///asdf")` will give you a URI whose authority part is non-null. This is not true.

However, doing the following works (i.e. creates a "file:///" URI)

```
if (uri.getScheme == file)
  new URI(uri.getScheme, "", uri.getPath, uri.getQuery, uri.getFragment)
else
  uri
```