public void resultUpdated(final Result result) {
    final TokenResult details = (TokenResult) result.getDetails();
    SwingUtilities.invokeLater(
        new Runnable() {

          public void run() {
            currentLessonPanel.resetImage();
            unitPanel.resetImage();
            try {
              sortAndDisplayTokens(
                  (ArrayList<Result>) manager.getResults(sheet.getId()),
                  currentLessonPanel,
                  maxLessonLimit);
              currentLabel.repaint();
              ArrayList<Result> unitTokenResults =
                  (ArrayList<Result>) manager.getCurrentUnitResults(sheet.getDetails());
              sortAndDisplayTokens(unitTokenResults, unitPanel, maxUnitLimit);
              unitLabel.repaint();
            } catch (IOException ex) {
              Logger.getLogger(StudentUnitTokenView.class.getName()).log(Level.SEVERE, null, ex);
            }
          }
        });
  }
 @Override
 public String toString() {
   return result.getCreator();
 }