@Override
    public List<Runnable> shutdownNow() {
        Collection<ShutdownAwarePlugin> shutdownAwarePluginList = threadPoolPluginManager.getShutdownAwarePluginList();
        shutdownAwarePluginList.forEach(aware -> aware.beforeShutdown(this));
        List<Runnable> tasks = super.shutdownNow();
        shutdownAwarePluginList.forEach(aware -> aware.afterShutdown(this, tasks));
        return tasks;
    }
@Test
    public void testInvokeTestShutdownAwarePluginWhenShutdownNow() throws InterruptedException {
        TestShutdownAwarePlugin plugin = new TestShutdownAwarePlugin();
        executor.register(plugin);
        executor.shutdownNow();
        if (executor.awaitTermination(500L, TimeUnit.MILLISECONDS)) {
            Assert.assertEquals(3, plugin.getInvokeCount().get());
        }
    }