public static void waitTillCompleted(WorkItem workItem, long time) throws Exception {
   int count = 0;
   while (count < 10) {
     if (workItem.getState() != org.drools.process.instance.WorkItem.COMPLETED) {
       if (workItem.getState() != org.drools.process.instance.WorkItem.ABORTED)
         throw new Exception("waitTillCompleted" + workItem.toString() + " is already aborted");
       try {
         Thread.sleep(time);
       } catch (InterruptedException e) {
         e.printStackTrace();
       }
     } else {
       break;
     }
     count++;
   }
   if (count == 10) {
     throw new Exception("waitTillCompleted" + workItem.toString() + " Timed out");
   }
 }