Confirmed and tested, I had to add it also to the same thread of the switchApplet() call this:
// make applet switch on EDT as an AWT/Swing permission dialog could be called
EventQueue.invokeAndWait(new Runnable() {
public void run() {
try {
// FIX2: should be set for same thread of the applet also.
Thread.currentThread().setContextClassLoader(classLoader);
switchApplet();
} catch (Exception e) {
fatalErrorOccured("This occurred while '" + getDescriptionForState() + "'", e);
}
setState(STATE_DONE);
repaint();
}
});
Here is a working example (warning link could be removed or could be broken tomorrow). This game was doing resources loading by using the thread context class loader, and now it works (without any game code modification).