Ireport com icefaces

To tentando usar o ireport com o icefaces mais não estou conseguindo o codigo que estou usando funciona no JSF mais quando coloco no JSF+icefaces ele passa por todo o codigo e não da erro mais também não apresenta nada.

public String botao(){

       cidadeDao cidade = new cidadeDao();
        List lista = cidade.getList();
   
        FacesContext context = FacesContext.getCurrentInstance();
        JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(lista);
        JasperPrint print;
        try {
            String reportName = "D:\\Projeto Relatorio\\WebApplication3\\web\\relatorio\\report1.jasper";
                print = JasperFillManager.fillReport(reportName, null, ds);

            System.out.println("REPORT NAME "+reportName);
              HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

              

                 byte x1[] = JasperExportManager.exportReportToPdf(print);

               

                 System.out.println("BYTE "+x1);
                 writeBytesAsAttachedTextFile(x1, "report1.pdf");
                  

                 System.out.println("----");

        } catch (Exception e) {
        }

}

 protected void writeBytesAsAttachedTextFile(byte[] bytes, String fileName) throws Exception {
        if (bytes == null) {
            throw new Exception("Array de bytes nulo.");
        }
        if (fileName == null) {
            throw new Exception("Nome do arquivo é nulo.");
        }

        FacesContext facesContext = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
        response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\";");
        response.setContentLength(bytes.length);

        ServletOutputStream ouputStream = response.getOutputStream();
        ouputStream.write(bytes, 0, bytes.length);
        

        facesContext.renderResponse();
        facesContext.responseComplete();

    }

Alguem ja tentou fazer isso no IceFaces?