@SuppressWarnings("unchecked")
public PageList<T> execute() {
PageList<T> results;
PageControl pageControl = CriteriaQueryGenerator.getPageControl(criteria);
Restriction criteriaRestriction = criteria.getRestriction();
if (criteriaRestriction == null) {
try {
results = QueryUtility.fetchPagedDataAndCount(queryGenerator.getQuery(entityManager),
queryGenerator.getCountQuery(entityManager), pageControl, DATA_FETCH_SETTINGS);
} catch (PhantomReadMaxAttemptsExceededException e) {