code: public synchronized void close() throws IOException, InterruptedException {
  		logger.info("shutting down cm processor");
  		if (closed.get()){
  			return;
  		}
  		
  		closed.set(true);
  		thread.join();
  		logger.info("cm processor down");
  		cmChannel.destroyEventChannel();
  		logger.info("cm channel down");
  	}
docs: Close the event loop.
  
  @throws Exception the exception