List<HistoricDetail> queryResult;
if (firstResult != null || maxResults != null) {
queryResult = executePaginatedQuery(query, firstResult, maxResults);
} else {
queryResult = query.list();
}
List<HistoricDetailDto> result = new ArrayList<HistoricDetailDto>();
for (HistoricDetail historicDetail : queryResult) {
HistoricDetailDto dto = HistoricDetailDto.fromHistoricDetail(historicDetail);