@Override
            public boolean shutdownGracefully(final long timeout, final TimeUnit unit) {
                return ExecutorServiceHelper.shutdownAndAwaitTermination(singleThreadPool, unit.toMillis(timeout));
            }
Anti-gentleman is not against villains, we believe that you are
providing a single-thread executor.

@param singleThreadExecutorService a {@link ExecutorService} instance
jraft-core/src/main/java/com/alipay/sofa/jraft/util/concurrent/DefaultSingleThreadExecutor.java