Criteria.list() não devolve tipo certo

Ao limitar quais campos uma query do Hibernate deve retornar ele retorna uma java.util.List de Object[]s, não uma List de objetos parcialmente populados.
Se não é isso que você precisa, a solução é esta:
http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/03/17/

E por favor, em respeito à comunidade, leia os tópicos stick antes de perguntar.
http://www.guj.com.br/posts/list/12234.java

Alguém tem idéia de porque quando eu executo isso:

		UCaseDAO dao = new UCaseDAO();

		List<UCase> lista = dao.pesquisaTodosNovo();
		for(UCase uCase : lista) {
			System.out.println("PkUCase: " + uCase.getPkUCase());
			System.out.println("Descricao: " + uCase.getDescricao());
		}

Baseado nisso:

	@SuppressWarnings("unchecked")
	public List<UCase> pesquisaTodos() {
		Criteria c = AnnotationSessionManager.getSession().createCriteria(UCase.class);
		ProjectionList pl = Projections.projectionList();
		pl.add(Projections.property("pkUCase"));
		pl.add(Projections.property("descricao"));
		c.setProjection(pl);
		return c.list();
	}

Ele me retorna isso?

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
	at br.com.shc.dao.teste.TesteUCaseDAO.main(TesteUCaseDAO.java:15)

(Linha 15 é a linha do for)

Obrigado desde já…

(>.<) resando pra alguém conseguir me ajudar antes que eu gaste 10 horas tentando resolver denovo…