Shutdown this engine to stop all repositories, terminate any ongoing background operations (such as sequencing), and reclaim any resources that were acquired by this engine. This method may be called multiple times, but only the first time has an effect.
This is equivalent to calling shutdown(true)
@return a future that allows the caller to block until the engine is shutdown; any error during shutdown will be thrownwhen {@link Future#get() getting} the result from the future, where the exception is wrapped in a{@link ExecutionException}. The value returned from the future will always be true if the engine shutdown (or was not running), or false if the engine is still running.
@see #start()