Problemas con descargar un archivo desde mi servodr web

Hola... disculpen, tengo un problema al descargar un archivo desde mi servidor web, no me sale ningun error pero tampoco se abre el recuado de descarga este es mi codigo, utilizo jsf y primefaces

Gracias

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

@ManagedBean
@SessionScoped
public class DownloadBean implements Serializable {

    private static final long serialVersionUID = 1L;

    public void cbDescargar() throws IOException {

        FacesContext ctx;
        ServletContext request;
        File archCSV;
        FileInputStream fisArch;
        byte[] bytes;
        int leer = 0;
        String nombreArchivo;

        ctx = FacesContext.getCurrentInstance();
        request = (ServletContext) ctx.getExternalContext().getContext();
        archCSV = new File(request.getRealPath("/reports/reporte.pdf"));
        fisArch = new FileInputStream(archCSV);
        bytes = new byte[1000];

        if (!ctx.getResponseComplete()) {

            nombreArchivo = archCSV.getName();
            String contentType = "application/pdf";
            HttpServletResponse response = (HttpServletResponse) ctx.getExternalContext().getResponse();

            response.setContentType(contentType);
            response.setHeader("Content-Disposition","attachment;filename=\"" + nombreArchivo + "\"");
            ServletOutputStream out = response.getOutputStream();

            System.out.println("leer " + leer);
            while ((leer = fisArch.read(bytes)) != -1) {
                out.write(bytes, 0, leer);
            }

            out.flush();
            out.close();
            System.out.println("\nDescargado...\n");
            ctx.responseComplete();
        }
    }

}