code: protected void renderColumnHeaderCell(FacesContext facesContext, ResponseWriter writer, UIComponent uiComponent,
              UIComponent facet, String headerStyleClass, int colspan) throws IOException
      {
          writer.startElement(determineHeaderCellTag(facesContext, uiComponent.getParent()), null); // uiComponent);
          if (colspan > 1)
          {
              writer.writeAttribute(HTML.COLSPAN_ATTR, Integer.valueOf(colspan), null);
          }
          if (headerStyleClass != null)
          {
              writer.writeAttribute(HTML.CLASS_ATTR, headerStyleClass, null);
          }
  
          writer.writeAttribute(HTML.SCOPE_ATTR, "col", null);
  
          if (facet != null)
          {
              //RendererUtils.renderChild(facesContext, facet);
              facet.encodeAll(facesContext);
          }
          writer.endElement(determineHeaderCellTag(facesContext, uiComponent.getParent()));
      }
docs: Renders a TH cell within a TR within a THEAD section. If the specified
  UIColumn object does have a header facet, then that facet is rendered
  within the cell, otherwise the cell is left blank (though any specified
  style class is still applied to empty cells).
  
  @param facesContext the <code>FacesContext</code>.
  @param writer the <code>ResponseWriter</code>.
  @param uiComponent the <code>UIComponent</code> to render the facet for.
  @param facet the <code>UIComponent</code> to render as facet.
  @param headerStyleClass the styleClass of the header facet.
  @param colspan the colspan for the tableData element in which the header facet
  will be wrapped.
  @throws IOException