@Override
 public Object parse(String input, IProgressMonitor arg1) {
   parseTree = null;
   try {
     job.initialize(input);
     job.schedule();
     job.join();
     parseTree = job.parseTree;
     return parseTree;
   } catch (InterruptedException e) {
     Activator.getInstance().logException("parser interrupted", e);
   }
   return null;
 }