assertTrue("waiting for taskDone()", listener1.waitForDone(TIMEOUT));
List<TestManagedTaskListener.CallbackInfo> callbacks1 = createCallbackInfo(f1);
compareCallbacks(callbacks1, listener1.getCallbacks(f1));
// test schedule Callable
TestCallable task2 = new TestCallable();
TestManagedTaskListener listener2 = new TestManagedTaskListener();
Future f2 = scheduledExecutor.schedule(task2, 2, TimeUnit.SECONDS, listener2);
assertEquals(task2, f2.get(5, TimeUnit.SECONDS));
assertEquals(Arrays.asList(expected), task2.getList());
assertTrue("waiting for taskDone()", listener2.waitForDone(TIMEOUT));
List<TestManagedTaskListener.CallbackInfo> callbacks2 = createCallbackInfo(f2);
compareCallbacks(callbacks2, listener2.getCallbacks(f2));
}