/**
  * Terminate the crawling, Stop all threads this will cause the controller which is sleeping to
  * reactive and do the final work....
  *
  * @param isAbort if set true the terminate must be as an abort not allowing running PostCrawling
  *     plugins.
  */
 @Override
 @GuardedBy("this")
 public final synchronized void terminate(boolean isAbort) {
   LOGGER.warn(
       "After "
           + this.formatRunningTime()
           + " the crawling process was requested to terminate @ "
           + Thread.currentThread());
   browserPool.shutdown();
   workQueue.shutdownNow(isAbort);
   this.shutdown(System.currentTimeMillis() - startCrawl);
 }