@Override public boolean equals(Object o) { if (o == null) return false; if (o.getClass().equals(TaskReport.class)) { TaskReport report = (TaskReport) o; return counters.equals(report.getCounters()) && Arrays.toString(this.diagnostics).equals(Arrays.toString(report.getDiagnostics())) && this.finishTime == report.getFinishTime() && this.progress == report.getProgress() && this.startTime == report.getStartTime() && this.state.equals(report.getState()) && this.taskid.equals(report.getTaskID()); } return false; }