question: private void runLoader ( ) { if ( status != APPLET_DISPOSE ) { showAppletStatus ( "notdisposed" ) ; return ; } dispatchAppletEvent ( APPLET_LOADING , null ) ; status = APPLET_LOAD ; loader = getClassLoader ( getCodeBase ( ) , getClassLoaderCacheKey ( ) ) ; String code = getCode ( ) ; setupAppletAppContext ( ) ; try { loadJarFiles ( loader ) ; applet = createApplet ( loader ) ; } catch ( ClassNotFoundException e ) { status = APPLET_ERROR ; showAppletStatus ( "notfound" , code ) ; showAppletLog ( "notfound" , code ) ; showAppletException ( e ) ; return ; } catch ( InstantiationException e ) { status = APPLET_ERROR ; showAppletStatus ( "nocreate" , code ) ; showAppletLog ( "nocreate" , code ) ; showAppletException ( e ) ; return ; } catch ( IllegalAccessException e ) { status = APPLET_ERROR ; showAppletStatus ( "noconstruct" , code ) ; showAppletLog ( "noconstruct" , code ) ; showAppletException ( e ) ; return ; } catch ( Exception e ) { status = APPLET_ERROR ; showAppletStatus ( "exception" , e . getMessage ( ) ) ; showAppletException ( e ) ; return ; } catch ( ThreadDeath e ) { status = APPLET_ERROR ; showAppletStatus ( "death" ) ; return ; } catch ( Error e ) { status = APPLET_ERROR ; showAppletStatus ( "error" , e . getMessage ( ) ) ; showAppletException ( e ) ; return ; } finally { dispatchAppletEvent ( APPLET_LOADING_COMPLETED , null ) ; } if ( applet != null ) { applet . setStub ( this ) ; applet . hide ( ) ; add ( "Center" , applet ) ; showAppletStatus ( "loaded" ) ; validate ( ) ; } }
target:  Load the applet into memory. Runs in a seperate (and interruptible) thread from the rest of the applet event processing so that it can be gracefully interrupted from things like HotJava.