public void close(){
  LOGGER.debug("synchro close");
  setClosed(true);
  while (!isEmpty() || isFiring() && !checkingThread.isDaemon()) {
    try {
      Thread.sleep(minWindowSize);
    }
 catch (    Exception e) {
      LOGGER.debug("Exception");
    }
  }
}

public void close ( ) { LOGGER . debug ( "synchro close" ) ; setClosed ( true ) ; while ( ! isEmpty ( ) || isFiring ( ) && ! checkingThread . isDaemon ( ) ) { try { Thread . sleep ( minWindowSize ) ; } catch ( Exception e ) { LOGGER . debug ( "Exception" ) ; } } }
close the buffer and deallocate resources . waits for the buffer to empty in all cases . empty the buffer first if the listener may not be able to treat requests . if the thread is a daemon thread , this method does not wait for the firing thread to finish , as it may be frozen and we wish to release this thread .
