assertFalse("Check that task hasn't run yet", ran > 0);
st1.reschedule(20, TimeUnit.MILLISECONDS);
Thread.sleep(5);
assertFalse("Check that task hasn't run yet", ran > 0);
ses.shutdown();
ses.awaitTermination(5, TimeUnit.SECONDS);
assertEquals("Check that task ran only once", 1, ran);
assertTrue("Check that time passed appropriately: " + (time - start),
(time - start) >= TimeUnit.NANOSECONDS.convert(55, TimeUnit.MILLISECONDS));