{
RunForeverTask callable = new RunForeverTask(5000);
assertFalse(callable.isAllDone());
ScheduledTask<Integer> task = defaultScheduler.schedule("Test Task", callable, new RunNowSchedule());
callable.blockForStart();
RunForeverTask blockedCallable = new RunForeverTask(5000);
ScheduledTask<Integer> blockedTask =
defaultScheduler.schedule("Blocked Task", blockedCallable, new RunNowSchedule());
Utils.awaitTaskState(blockedTask, 1000, TaskState.SLEEPING);
assertEquals(1, defaultScheduler.getAllTasks().size());
assertEquals(2, defaultScheduler.getAllTasks().get(task.getType()).size());