Sublista no jasper com webwork

Estou precisando de uma ajuda urgentemente!!!

Estou tentando gerar um relatorio com uma sublista mas está dando o seguinte erro direto. Estou utilizando webwork também.

java.lang.NullPointerException
(jasperreports.JasperReportsResult 154 ) No dataSource specified…
03/08/2007 12:40:32 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
No dataSource specified… - [unknown location]

Abaixo segue meu código

 	public String relatorio() throws IllegalArgumentException, IllegalStateException, JRException, IOException{		
 		
 		final Hashtable parameters = new Hashtable();
         final String relSub = "C:/SubRelParte.jrxml";
 
         
 		ArrayList lista = (ArrayList) sessao.get("partes"); 
 		
 		try
 		{
 			
 			JREmptyDataSource ED = new JREmptyDataSource();
 			
 			JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(lista);
 			parameters.put("partes",BCD);
 			JasperDesign design = JRXmlLoader.load("C:/CalculoTeste.jrxml");
 			JasperReport jr = JasperCompileManager.compileReport(design);
 
 			JasperPrint impressao = new JasperPrint();
 			impressao = JasperFillManager.fillReport(jr,parameters,new JRBeanCollectionDataSource(lista));
 			byte[] buffer = JasperExportManager.exportReportToPdf(impressao);
 			if (buffer != null)
 			{
 				ServletActionContext.getResponse().setContentLength(buffer.length); //Pode ser retirada...
 				ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
 				outputStream.write(buffer, 0, buffer.length);
 				outputStream.flush();
 				outputStream.close();
 				
 			}
 			}catch(NullPointerException e1){
 			
 			System.out.println("Erro ao gera relatorio! "+e1.toString());
 
 		}
 			
 		return SUCCESS;
 	}
 

Ah, e no xwork está assim: 

<action name="emiteRelatorio" class="br.gov.jfrj.calculo.action.calculo.CalculoPrincipal" method="relatorio" >
       <result name="success" type="jasper"></result> 
</action>

olha esse trecho:

JREmptyDataSource ED = new JREmptyDataSource();
  			
JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(lista);

parameters.put("partes",BCD);

JasperDesign design = JRXmlLoader.load("C:/CalculoTeste.jrxml");

JasperReport jr = JasperCompileManager.compileReport(design);
  
JasperPrint impressao = new JasperPrint();

impressao = JasperFillManager.fillReport(jr,parameters,new JRBeanCollectionDataSource(lista));

parece estranho porque vc cria o BCD e coloca como parametro. talvez o problema esteja neste “lista”…