ResponseWriter originalResponseWriter = facesContext.getResponseWriter();
    facesContext.setResponseWriter(delegationResponseWriter);
    Renderer delegateRenderer = getDelegateRenderer(facesContext);
    delegateRenderer.encodeBegin(facesContext, uiComponent);
    delegateRenderer.encodeChildren(facesContext, uiComponent);
    delegateRenderer.encodeEnd(facesContext, uiComponent);
    facesContext.setResponseWriter(originalResponseWriter);
  }
  @Override
  public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException {