code: @Override
  	public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
  		if (!component.isRendered()) {
  			return;
  		}
  		Breadcrumbs breadcrumbs = (Breadcrumbs) component;
  		ResponseWriter rw = context.getResponseWriter();
  		String clientId = breadcrumbs.getClientId();
  
  		rw.startElement("ol", breadcrumbs);
  
  		rw.writeAttribute("id", clientId, "id");
  
  		String style = breadcrumbs.getStyle();
  		if (null != style && style.length() > 0) {
  			rw.writeAttribute("style", style, "style");
  		}
  
  		Tooltip.generateTooltip(context, breadcrumbs, rw);
  
  		String styleClass = breadcrumbs.getStyleClass();
  		if (null == styleClass) {
  			styleClass = "";
  		}
  		rw.writeAttribute("class", "breadcrumb ".concat(styleClass), "class");
  
  		// Root node
  		UIComponent root = component.getFacet("root");
  		if (root != null) {
  			rw.startElement("li", component);
  			root.encodeAll(context);
  			rw.endElement("li");
  		}
  	}
docs: This methods generates the HTML code of the current b:breadcrumbs. <code>encodeBegin</code> generates the
  start of the component. After the, the JSF framework calls <code>encodeChildren()</code> to generate the HTML
  code between the beginning and the end of the component. For instance, in the case of a panel component the
  content of the panel is generated by <code>encodeChildren()</code>. After that, <code>encodeEnd()</code> is
  called to generate the rest of the HTML code.
  
  @param context the FacesContext.
  @param component the current b:breadcrumbs.
  @throws IOException thrown if something goes wrong when writing the HTML code.