IReport e Subrelatorio

Pessoal estou com um probleminha
Estou gerando um relatorio simples que tem um subrelatorio
Eu tenho um class Bean

public class CoresBean 
{
     private String codigoCor;
     private String descricao;
     //gets e sets            
}

Tenho uma lista de elementos dessa classe, eu queria enviar para o subrelatorio essa lista

List<CoresBean> lista = new ArrayList<CoresBean>();
			
CoresBean cor1 = new CoresBean();
cor1.setCodigoCor("AA");
cor1.setDescricao("DAA");
			
CoresBean cor2 = new CoresBean();
cor2.setCodigoCor("AE");
cor2.setDescricao("DAE");
		
lista.add(cor1);
lista.add(cor2);
			
JREmptyDataSource eds = new JREmptyDataSource();
			
Map<String, Object> map = new HashMap<String, Object>();
map.put("banco", lista);
			
JasperPrint jasper = JasperFillManager.fillReport("c:/report2.jasper",map, eds);
			
String path = getServletContext().getRealPath("/");
			
JasperManager.printReportToPdfFile(jasper, path+"relatorio2.pdf");

Quando Criei o subrelatorio dentro do relatorio
cliquei em cima do subrelatorio e selecionei “Use a datasource expression” no campo Connection Type
e no campo DataSource Expression e digitei “new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{banco})”

Esse parametro $P{banco} é do tipo java.util.List

Quando tento rodar aparece o seguinte erro:

Error evaluating expression : Source text : new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{banco})

Alguem pode me ajudar?
Vlw

jsf ?

Bem consegui resolver o problema

Para falar a verdade eu fiz tudo de novo e deu certo
kkkkkkkkkkkk

Ate agora não vi a diferença

se alguem precisar eu informo direitinho como fiz

Valeu cara