public int getDone() {
   int done = 0;
   if (tController != null) {
     Collection<AnalysisThread> tCollection =
         (Collection<AnalysisThread>) tController.getThreads();
     for (AnalysisThread aThread : tCollection) {
       if (aThread.isDone()) {
         done++;
       }
     }
   }
   return done;
 }
  public List<String> getMessages() {
    List<String> messages = null;
    if (tController != null) {
      Collection<AnalysisThread> tCollection =
          (Collection<AnalysisThread>) tController.getThreads();
      for (AnalysisThread t : tCollection) {
        if (!t.isAlive()) {
          if (t.hasError()) {
            if (messages == null) {
              messages = new ArrayList<String>();
            }

            messages.add(t.getErrorMessage());
          }
        }
      }
    }
    return messages;
  }