@Override
    public void close() throws Exception {
        reaper.initiateShutdown();
        // Improve shutdown time by waking up the reaper thread
        // blocked on poll by sending a no-op.
        timer.add(new TimerTask(0) {
            @Override
            public void run() {}
        });
        reaper.awaitShutdown();
        timer.close();
    }
@Test
    public void testReaperClose() throws Exception {
        Timer timer = Mockito.mock(Timer.class);
        SystemTimerReaper timerReaper = new SystemTimerReaper("reaper", timer);
        timerReaper.close();
        Mockito.verify(timer, Mockito.times(1)).close();
        TestUtils.waitForCondition(timerReaper::isShutdown, "reaper not shutdown");
    }