code: protected void renderColumnBody(
              FacesContext facesContext,
              ResponseWriter writer,
              UIData uiData,
              UIComponent component,
              Styles styles, int columnStyleIndex) throws IOException
      {
          // Get the rowHeader attribute from the attribute map, because of MYFACES-1790
          Object rowHeaderAttr = component.getAttributes().get(JSFAttr.ROW_HEADER_ATTR);
          boolean rowHeader = rowHeaderAttr != null && ((Boolean) rowHeaderAttr);
          
          if(rowHeader) 
          {
              writer.startElement(HTML.TH_ELEM, null); // uiData);   
              writer.writeAttribute(HTML.SCOPE_ATTR, HTML.SCOPE_ROW_VALUE, null);
          }
          else 
          {
              writer.startElement(HTML.TD_ELEM, null); // uiData);
          }
          if (styles.hasColumnStyle())
          {
              writer.writeAttribute(HTML.CLASS_ATTR, styles.getColumnStyle(columnStyleIndex), null);
          }
          //RendererUtils.renderChild(facesContext, component);
          component.encodeAll(facesContext);
          if(rowHeader) 
          {
              writer.endElement(HTML.TH_ELEM);   
          }
          else 
          {
              writer.endElement(HTML.TD_ELEM);
          }
      }
docs: Renders the body of a given <code>UIColumn</code> (everything but
  the header and footer facets). This emits a TD cell, whose contents
  are the result of calling encodeBegin, encodeChildren and
  encodeEnd methods on the component (or its associated renderer).
  
  @param facesContext the <code>FacesContext</code>.
  @param writer the <code>ResponseWriter</code>.
  @param uiData the <code>UIData</code> being rendered.
  @param component the <code>UIComponent</code> to render.
  @throws IOException if an exception occurs.