@Override
        public int compare(final TaskProgress o1, final TaskProgress o2) {
            if (criteria.getSortList() != null) {
                for (final CriteriaFieldSort sort : criteria.getSortList()) {
                    final String field = sort.getId();

                    int compare = 0;
                    switch (field) {
                        case FindTaskProgressCriteria.FIELD_NAME:
                            compare = CompareUtil.compareString(o1.getTaskName(), o2.getTaskName());
                            break;
                        case FindTaskProgressCriteria.FIELD_USER:
                            compare = CompareUtil.compareString(
                                    o1.getUserRef().getDisplayName(),
                                    o2.getUserRef().getDisplayName());
                            break;
                        case FindTaskProgressCriteria.FIELD_SUBMIT_TIME:
                            compare = CompareUtil.compareLong(o1.getSubmitTimeMs(), o2.getSubmitTimeMs());
                            break;
                        case FindTaskProgressCriteria.FIELD_AGE:
                            compare = CompareUtil.compareLong(o1.getAgeMs(), o2.getAgeMs());
                            break;
                        case FindTaskProgressCriteria.FIELD_INFO:
                            compare = CompareUtil.compareString(o1.getTaskInfo(), o2.getTaskInfo());
                            break;
                        case FindTaskProgressCriteria.FIELD_NODE:
                            compare = CompareUtil.compareString(o1.getNodeName(), o2.getNodeName());
                            break;
                    }

                    if (sort.isDesc()) {
                        compare = compare * -1;
                    }

                    if (compare != 0) {
                        return compare;
                    }
                }
            }

            return 0;
        }
Return true if taskProgress is a match in the filter or one of its descendants is
stroom-core-client/src/main/java/stroom/task/client/presenter/TaskProgressUtil.java