criteria.addFilterJobId(schedule.getJobId());
criteria.addFilterResourceIds(resourceId);
criteria.addSortStartTime(PageOrdering.DESC); // put most recent at top of results
criteria.setPaging(0, 1); // only return one result, in effect the latest
criteria.fetchOperationDefinition(true);
criteria.fetchParameters(true);
criteria.fetchResults(true);
int retries = 10;
ResourceOperationHistory history = null;
while (history == null && retries-- > 0) {