public void preDeregister() throws Exception {
  try {
    close();
    if (!sequencer.tryAcquire())     throw new IllegalStateException("can't acquire lock");
    try {
      unregisterScanners();
      unregisterConfigs();
      unregisterResultLogManager();
    }
  finally {
      sequencer.release();
    }
  }
 catch (  Exception x) {
    LOG.log(Level.FINEST,"Failed to unregister: " + x,x);
    throw x;
  }
}

public void preDeregister ( ) throws Exception { try { close ( ) ; if ( ! sequencer . tryAcquire ( ) ) throw new IllegalStateException ( "can't acquire lock" ) ; try { unregisterScanners ( ) ; unregisterConfigs ( ) ; unregisterResultLogManager ( ) ; } finally { sequencer . release ( ) ; } } catch ( Exception x ) { LOG . log ( Level . FINEST , "Failed to unregister: " + x , x ) ; throw x ; } }
allows the mbean to perform any operations it needs before being unregistered by the mbean server . this implementation also unregisters all the mxbeans that were created by this object .
