/**
  * React to the fact that execution is finished by unregistering as an execution listener and by
  * allowing subsequent executions. This is called when an execution of the referenced model in
  * another thread has finished and the wrapup sequence has completed normally. The number of
  * successfully completed iterations can be obtained by calling getIterationCount() on the
  * manager.
  *
  * @param manager The manager controlling the execution.
  */
 public synchronized void executionFinished(Manager manager) {
   // _executing = false;
   // NOTE: Can't remove these now! The list is being
   // currently used to notify me!
   // manager.removeExecutionListener(this);
   manager.removeDebugListener(this);
   notifyAll();
 }
  /**
   * React to the fact that execution has failed by unregistering as an execution listener and by
   * allowing subsequent executions. Report an execution failure at the next opportunity. This
   * method will be called when an exception or error is caught by a manager during a run in another
   * thread of the referenced model.
   *
   * @param manager The manager controlling the execution.
   * @param throwable The throwable to report.
   */
  public synchronized void executionError(Manager manager, Throwable throwable) {
    _throwable = throwable;

    // _executing = false;
    // NOTE: Can't remove these now! The list is being
    // currently used to notify me!
    // manager.removeExecutionListener(this);
    manager.removeDebugListener(this);
    notifyAll();
  }