@Override
    public void destroy() {
        destroy(null);
    }
@Test
    public void testDestroyWithDestroyHook() {
        List<String> hookActionResult = new ArrayList<>(2);
        Destroyable.DestroyHook destroyHook = new Destroyable.DestroyHook() {
            @Override
            public void preDestroy() {
                hookActionResult.add("preDestroy");
            }

            @Override
            public void postDestroy() {
                hookActionResult.add("postDestroy");
            }
        };
        abstractCluster.destroy(destroyHook);
        Assert.assertEquals(2, hookActionResult.size());
        Assert.assertEquals("preDestroy", hookActionResult.get(0));
        Assert.assertEquals("postDestroy", hookActionResult.get(1));
    }