@Test(timeout=60000)
public void testContextIsPassed() throws Exception {

  final NoOpCheckable target1 = new NoOpCheckable();
  final FakeTimer timer = new FakeTimer();
  ThrottledAsyncChecker<Boolean, Boolean> checker =
      new ThrottledAsyncChecker<>(timer, MIN_ERROR_CHECK_GAP, 0,
          getExecutorService());
  assertTrue(checker.schedule(target1, true).isPresent());
  waitTestCheckableCheckCount(target1, 1L);
  timer.advance(MIN_ERROR_CHECK_GAP + 1);
  assertTrue(checker.schedule(target1, false).isPresent());
  waitTestCheckableCheckCount(target1, 2L);
}