private PagedMetadata<PageDto> getPagedResult(PageSearchRequest request, List<PageDto> pages) { BeanComparator comparator = new BeanComparator(request.getSort()); if (request.getDirection().equals(FieldSearchFilter.DESC_ORDER)) { Collections.sort(pages, comparator.reversed()); } else { Collections.sort(pages, comparator); } PageSearchDto result = new PageSearchDto(request, pages); result.imposeLimits(); return result; }