/**
  * @param task
  * @param delay
  * @param timeUnit
  * @return
  * @throws NamingException
  */
 public Future<?> schedule(TestRunnable task, long delay, TimeUnit timeUnit)
     throws NamingException {
   final Principal principal = ejbContext.getCallerPrincipal();
   logger.debugf("Principal: %s", principal);
   task.setExpectedPrincipal(principal);
   return executorService.schedule(task, delay, timeUnit);
 }