@Override
    public boolean registerThreadPoolPluginSupport(@NonNull ThreadPoolPluginSupport support) {
        if (!managedThreadPoolPluginSupports.containsKey(support.getThreadPoolId())) {
            enableThreadPoolPluginRegistrars.values().forEach(registrar -> registrar.doRegister(support));
            enableThreadPoolPlugins.values().forEach(support::tryRegister);
            managedThreadPoolPluginSupports.put(support.getThreadPoolId(), support);
            return true;
        }
        return false;
    }
@Test
    public void testRegisterThreadPoolPluginSupport() {
        GlobalThreadPoolPluginManager manager = new DefaultGlobalThreadPoolPluginManager();
        Assert.assertTrue(manager.enableThreadPoolPlugin(new TestPlugin("1")));

        TestSupport support = new TestSupport("1");
        Assert.assertTrue(manager.registerThreadPoolPluginSupport(support));
        Assert.assertFalse(manager.registerThreadPoolPluginSupport(support));
        Assert.assertEquals(1, support.getAllPlugins().size());

        // incremental update
        manager.enableThreadPoolPlugin(new TestPlugin("2"));
        manager.enableThreadPoolPluginRegistrar(new TestRegistrar("1"));
        Assert.assertEquals(3, support.getAllPlugins().size());
    }