question: protected void release ( ) { AppContext tempAppContext = null ; synchronized ( grabReleaseSynchronizer ) { if ( usageCount > 1 ) { -- usageCount ; } else { synchronized ( threadGroupSynchronizer ) { tempAppContext = resetAppContext ( ) ; } } } if ( tempAppContext != null ) { try { tempAppContext . dispose ( ) ; } catch ( IllegalThreadStateException e ) { } } }
target:  Release this AppletClassLoader and its ThreadGroup/AppContext. If nothing else has grabbed this AppletClassLoader, its ThreadGroup and AppContext will be destroyed. Because this method may destroy the AppletClassLoader's ThreadGroup, this method should NOT be called from within the AppletClassLoader's ThreadGroup. Changed modifier to protected in order to be able to overwrite this function in PluginClassLoader.java