public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException {
super.encodeBegin(facesContext, component);
ResponseWriter responseWriter = facesContext.getResponseWriter();
responseWriter.startElement("listcell", component);
StringBuffer clientId = new StringBuffer(component.getClientId(facesContext));
clientId.append(":");
clientId.append(component.getParent().getAttributes().get("rowId"));
clientId.append(":");
clientId.append(component.getId());
responseWriter.writeAttribute("id",clientId.toString(), "id");
String value = getValueAsString(facesContext,(UIOutput) component);
responseWriter.writeAttribute("label", value, "label");
renderAttributes(facesContext, component, (List) component
.getAttributes().get("annotatedAttributes"));
}