The IoSupport locked() method should propagate exceptions and not wrap them in a RuntimeException. The caller should be able to catch and handle it properly.
We've seen some errors in the log, where the workspace get() method throws a runtime exception by creating a lock for the file that should be downloaded. This exception type must not be declared in Java, so this exception is nowhere catched and handled properly.
We should avoid to throw RuntimeExceptions where ever possible!