private void awaitStopped(long time, TimeUnit unit) throws InterruptedException {
assertTrue(terminalLatch.await(time, unit));
}
private void assertTerminated() {
State state = service.state();
if (state != State.TERMINATED) {
if (state == State.FAILED) {
throw new AssertionError(service.failureCause());
}
fail("Expected service to be terminated but was: " + state);