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) {
    }
  }
}

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 ) { } } }
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
