final Integer firstResult) {
final DetachedCriteria criteria = DetachedCriteria.forClass(Poll.class);
criteria.createAlias("question", "question");
calculateSearchPeriodsDates(period, criteria, "createDate");
criteria.add(Restrictions.gt("relevance", 0L));
criteria.addOrder(Order.desc("relevance"));
criteria.add(Restrictions.eq("publish", Boolean.TRUE)); //should be published
criteria.addOrder(Order.desc("createDate"));
return (List<Poll>) filterByMaxorStart(criteria, maxResults, start);
//return getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults);
}