UIData table = FacesComponentUtility.getAncestorOfType(columnHeader, UIData.class);
PagedListDataModel<?> model = (PagedListDataModel<?>) table.getValue();
// work-around to bypass stale data model caused by a4j:keepAlive for the PagedDataTableUIBean
PageControlView pageControlView = model.getPageControlView();
PagedDataTableUIBean pagedDataTableUIBean = pageControlView.getPagedDataTableUIBean();
pagedDataTableUIBean.setDataModel(null);
PageControl pc = model.getPageControl();
pc.sortBy(sort);
model.setPageControl(pc);
}