private Calendar lastCancelTime(final List<JobAction> actionList, final Communicator comm) {
        List<Calendar> cancelTimes = new ArrayList<Calendar>();
        boolean idMatch, descriptionMatch;
        for (JobAction ja : actionList) {
            idMatch = comm != null && ja.getOwnerId() != null && ja.getOwnerId().equals(comm.getTargetId());
            descriptionMatch = ja.getActionDescription().equals(JobConstants.JOB_CANCEL);
            if (idMatch && descriptionMatch) {
                cancelTimes.add(ja.getActionTime());
            }
        }
        if (cancelTimes.size() > 0) {
            Collections.sort(cancelTimes);
            return cancelTimes.get(cancelTimes.size() - 1);
        } else {
            return null;
        }
    }