code: private List<TaskStatus> collectAndCloneTaskStatuses() {
      ArrayList<TaskStatus> statuses = new ArrayList<TaskStatus>();
      for (SimulatorTaskInProgress tip : tasks.values()) {
        statuses.add((TaskStatus)tip.getTaskStatus().clone());
      }
      return statuses;
    }
docs: Creates a list of task statuses suitable for transmission via heartbeat().
  The task statuses are cloned() so that the heartbeat() callee, the job
  tracker, can't mess up the SimulatorTaskTracker's internal data.
  
  @return the list of running and recently completed task statuses
  on the tracker