code: public void stop() {
  		
  		lock.lock();
  		
  		try {
  			currentFuture.cancel(false);
  			
  			try {
  				shutDown();
  			} catch (Throwable t) {
  				LOGGER.info("Exception in service shut down", t);
  			}
  			
  			try {
  				executorService.shutdown();
  				executorService.awaitTermination(5, TimeUnit.SECONDS);
  			} catch (Throwable t) {
  				LOGGER.info("Exception in service termination", t);
  			}
  		} finally {
  			lock.unlock();
  		}
  	}
docs: Stops the background service/thread