Description
There appears to be an issue with Executors.newCachedThreadPool() when running as an applet. IllegalThreadStateExceptions are thrown periodically and seemingly unpredictably. The current workaround uses a custom ExecutorService that simply dispatches requests to new threads as they are received. However, this is not optimal and a better solution should be found, if possible.