when a RuntimeException occurs in the #done() method of a worker, the state of
this worker does not change to DONE. Sometimes in applications it is needed to
proceed the execution of the application regardless of such exceptions, e.g. you
may want to clean up resources allocated by a worker. In the current
implementation of the SwingWorker the bound property "state" is never changed to
DONE in such situations, even though the worker has been finished due to an
exception. And hence we are not able to clean up resources. I hope you will
accept my patch and integrate it into the JDK.