Problema com <p:fileDownload>

Criei um botão responsável por fazer o download de um relatório da seguinte forma:

                              <p:commandButton id="btnImprimeSimulação"
                                               icon="ui-icon-print"
                                               actionListener="#{acaoMBean.preparaImpressaoSimulacaoAcordo}"
                                               value="Imprimir"
                                               title="Imprime essa simulação"
                                               style="width:100px;">
                                 <p:fileDownload value="#{acaoMBean.file}" />
                              </p:commandButton>
	public void preparaImpressaoSimulacaoAcordo(ActionEvent actionEvent) throws Exception {
                
               .
               .
               .

		ClientOutput clientOutput = new ClientOutput();
		//FacesContext facesContext = FacesContext.getCurrentInstance();
		//facesContext.getExternalContext().getRequest();
		//HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		//OutputStream os = null;

		try {
			String reportUrlReal = clientOutput.getApplicationRoot()+"\\WEB-INF\\classes\\rptAcordoSimulacao.jasper";

			JasperPrint jasperPrint = JasperFillManager.fillReport(reportUrlReal, mapa, ds);
			byte[] pdf = JasperExportManager.exportReportToPdf(jasperPrint);

			//os = response.getOutputStream();
			clientOutput.getResponse().setContentType("application/pdf");
			clientOutput.getResponse().setContentLength(pdf.length);
			clientOutput.getResponse().setHeader("Content-disposition","attachment; filename=\"rptAcordoSimulacao.pdf\"");
			clientOutput.getOutputStream().write(pdf);
			clientOutput.getOutputStream().flush();

			//ExternalContext externalContext = clientOutput.getFc().getExternalContext();
			//InputStream input = externalContext.getResourceAsStream("/WEB-INF/classes/rptAcordoSimulacao.jasper");

			InputStream input = clientOutput.getServletContext().getResourceAsStream("/WEB-INF/classes/rptAcordoSimulacao.jasper");

			this.file = new DefaultStreamedContent(input, "application/pdf", "rptAcordoSimulacao.jasper");
		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			try {
				if(clientOutput.getOutputStream() != null){
					clientOutput.getOutputStream().close();
				}
				clientOutput.responseComplete();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
        }

Após clicar no botão e gerar o relatório a caixa de diálogo de download não é exibida!

Alguém sabe me dizer porque?

Obrigado.