Description
TemporaryResource.close() currently collects exceptions throw by trying to close its resources in a list.
When the time to propagate an exception comes, information is lost - the thrown exception contains a message with the string descriptions of all exceptions, and the first exception as the cause - there is no stack trace describing what went wrong closing a resource.
In addition, the thrown exception is IOExceptionWithCause, copied from commons-io, which is redundant since Java 6.