We can't easily debug FS instantiation problems as there isn't much detail in what was going on.
We can add more logging, but cannot simply switch FileSystem.LOG to SLF4J —the class is used in too many places, including tests which cast it. Instead, add a new private SLF4J Logger, LOGGER and switch logging to it.
While working in the base FileSystem class, take the opportunity to clean up javadocs and comments
- add the list of exceptions, including indicating which base classes throw UnsupportedOperationExceptions
- cut bits in the comments which are not true
The outcome of this patch is that IDEs shouldn't highlight most of the file as flawed in some way or another