getOutputStream() has already been called for this response(RESOLVIDO)

Bom dia, ao executar a action abaixo:

		         	<p:column style="width:31px">  
			            <p:commandButton id="btnPrintContrato" action="#{contratoBean.impressaoContrato}" value="#{bundle.btnContrato}" ajax="false" onclick="this.form.target='_blank'" icon="contrato">  
			                <f:setPropertyActionListener value="#{row}" target="#{contratoBean.contrato}" /> 
			            </p:commandButton>  
			        </p:column> 

Classe responsável por criar o PDF.

	public void create(List dados, String reportName) throws ReportException {

		try {
			
	        FacesContext fc = FacesContext.getCurrentInstance();
	        ServletContext sc = (ServletContext) fc.getExternalContext().getContext();
	        HttpServletResponse response = (HttpServletResponse)fc.getExternalContext().getResponse();  

			HashMap parameters = new HashMap();
			JRDataSource jrds = new JRBeanCollectionDataSource(dados);

			// lendo arquivo jasper
			File reportFile = new File(sc.getRealPath("/WEB-INF/classes/br/com/renaissance/reports/" + reportName + ".jasper"));

			byte[] bytes = null;
			try {
				bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, jrds);
			} catch (Exception e) {
				throw new ReportException(e.getMessage());
			}

			if (bytes != null && bytes.length > 0) {
				response.setContentType("application/pdf");
				response.setContentLength(bytes.length);
				ServletOutputStream ouputStream = response.getOutputStream();
				ouputStream.write(bytes, 0, bytes.length);
				ouputStream.flush();
				ouputStream.close();
			}

		} catch (Exception e) {
			throw new ReportException(e.getMessage());
		}
	}

O erro abaixo é apresentado:

SEVERE: Error Rendering View[/pages/contrato/show.xhtml]
java.lang.IllegalStateException: getOutputStream() has already been called for this response
	at org.apache.catalina.connector.Response.getWriter(Response.java:639)
	at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:214)
	at com.sun.faces.context.ExternalContextImpl.getResponseOutputWriter(ExternalContextImpl.java:765)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.createResponseWriter(FaceletViewHandlingStrategy.java:1053)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:384)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at br.com.renaissance.filter.ValidateSession.doFilter(ValidateSession.java:38)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Mesmo dando esse erro, o PDF é gerado e exibido normalmente.

Desde já agradeço.

Senhores, alterei o método que cria o relatório e agora não dá mais o erro.

public class ReportCreator {
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public void create(List dados, String reportName) throws ReportException {

		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		InputStream reportStream = facesContext.getExternalContext().getResourceAsStream("/WEB-INF/classes/br/com/renaissance/reports/" + reportName + ".jasper");

		HashMap parameters = new HashMap();
		JRDataSource jrds = new JRBeanCollectionDataSource(dados);

		try {
			ServletOutputStream servletOutputStream = response.getOutputStream();
			response.setContentType("application/pdf");
			facesContext.responseComplete();

			try {
				JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameters, jrds);
			} catch (JRException e) {
				throw new ReportException(e.getMessage());
			}
			servletOutputStream.flush();
			servletOutputStream.close();
		} catch (IOException e) {
			throw new ReportException(e.getMessage());
		} catch (Exception e) {
			throw new ReportException(e.getMessage());
		}
	}

}