code: protected void addPrependingAddOnToInputGroup(FacesContext context, ResponseWriter rw,
  			UIComponent prependingAddOnFacet, boolean hasPrependingAddOn, SelectMultiMenu menu) throws IOException {
  		if (hasPrependingAddOn) {
  			if (prependingAddOnFacet.getClass().getName().endsWith("Button")
  					|| (prependingAddOnFacet.getChildCount() > 0
  							&& prependingAddOnFacet.getChildren().get(0).getClass().getName().endsWith("Button"))) {
  				rw.startElement("div", menu);
  				rw.writeAttribute("class", "input-group-btn", "class");
  				prependingAddOnFacet.encodeAll(context);
  				rw.endElement("div");
  			} else if (prependingAddOnFacet instanceof HtmlOutputText) {
  				HtmlOutputText out = (HtmlOutputText) prependingAddOnFacet;
  
  				String sc = out.getStyleClass();
  				if (sc == null)
  					sc = "input-group-addon";
  				else
  					sc = sc + " " + "input-group-addon";
  				out.setStyleClass(sc);
  				prependingAddOnFacet.encodeAll(context);
  			} else {
  				rw.startElement("span", menu);
  				rw.writeAttribute("class", "input-group-addon", "class");
  				prependingAddOnFacet.encodeAll(context);
  				rw.endElement("span");
  			}
  		}
  	}
docs: Renders components added seamlessly in front of the input field.
  
  @param context
  the FacesContext
  @param rw
  the response writer
  @param prependingAddOnFacet
  @param hasPrependingAddOn
  @throws IOException
  may be thrown by the response writer