code: public String getPrettyReport(JobID jobId) {
      Map<TaskAttemptID, TaskLaunch> lastLaunch =
          new HashMap<TaskAttemptID, CoronaStateUpdate.TaskLaunch>();
      Map<TaskAttemptID, TaskStatus.State> lastKnownStatus =
          new HashMap<TaskAttemptID, TaskStatus.State>();
      JTFailoverMetrics jtFailoverMetrics = new JTFailoverMetrics();
      
      for (CoronaStateUpdate update : updates) {
        if (update.getTaskLaunch() != null) {
          TaskLaunch launch = update.getTaskLaunch();
          lastLaunch.put(launch.getTaskId(), launch);
        } else if (update.getTaskStatus() != null) {
          TaskStatus status = update.getTaskStatus();
          lastKnownStatus.put(status.getTaskID(), status.getRunState());
          jtFailoverMetrics.update(status);
        }
      }
      StringBuilder result = new StringBuilder();
      result.append("CoronaJTState report");
      if (jobId != null) {
        result.append(" for job ").append(jobId);
      }
      for (CoronaStateUpdate update : updates) {
        TaskLaunch launch = update.getTaskLaunch();
        if (launch != null) {
          result.append("\n").append(launch).append(" last known ");
          result.append(lastKnownStatus.get(launch.getTaskId()));
        }
      }
      if (sessionId != null && !sessionId.isEmpty()) {
        result.append("\n Session id ").append(sessionId);
      }
      result.append("\nThis remoteJobTracker failover totally saved: ");
      result.append("\nmappers ").append(jtFailoverMetrics.savedMappers).
        append(" map cpu ").append(jtFailoverMetrics.savedMapCPU).
        append(" map wallclock ").append(jtFailoverMetrics.savedMapWallclock);
      result.append("\nreducers ").append(jtFailoverMetrics.savedReducers).
        append(" reduce cpu ").append(jtFailoverMetrics.savedReduceCPU).
        append(" reduce wallclock ").append(jtFailoverMetrics.savedReduceWallclock);
      return result.toString();
    }
docs: Creates pretty report of saved state
  @return string with report