private void testAsyncJobQueue(TestWorkAt workAt, JobQueue async_jobQueue, ThreadId threadId)
     throws InterruptedException {
   // put slow async calls first, followed by fast sync calls:
   testSendRequests(workAt, "asyncCall", async_jobQueue);
   testSendRequests(workAt, "syncCall", __javaThreadPoolFactory.getJobQueue(threadId));
   synchronized (workAt) {
     async_jobQueue._sync_jobQueue.putJob(
         new Job(
             workAt,
             __iReceiver,
             new Message(
                 null,
                 true,
                 "oid",
                 __workAt_td,
                 __workAt_td.getMethodDescription("notifyme"),
                 true,
                 null,
                 false,
                 null,
                 null)),
         null);
     while (!workAt._notified) {
       workAt.wait();
     }
   }
   assertTrue(workAt.passedAsyncTest());
 }
 private void testExecuteJobs(JobQueue jobQueue) throws InterruptedException {
   TestWorkAt workAt = new TestWorkAt();
   testSendRequests(workAt, "increment", jobQueue);
   synchronized (workAt) {
     jobQueue.putJob(
         new Job(
             workAt,
             __iReceiver,
             new Message(
                 null,
                 true,
                 "oid",
                 __workAt_td,
                 __workAt_td.getMethodDescription("notifyme"),
                 true,
                 null,
                 false,
                 null,
                 null)),
         null);
     while (!workAt._notified) {
       workAt.wait();
     }
   }
   assertEquals(TestWorkAt.MESSAGES, workAt._counter);
 }