code: protected void addLabel(ResponseWriter rw, String clientId, String fieldId) throws IOException {
  		String label = getLabel();
  		if (!isRenderLabel()) {
  			label = null;
  		}
  		if (label != null) {
  			rw.startElement("label", this);
  			rw.writeAttribute("for", clientId, "for");
  			new CoreRenderer().generateErrorAndRequiredClassForLabels(this, rw, fieldId,
  					getLabelStyleClass() + " control-label");
  
  			if (getLabelStyle() != null) {
  				rw.writeAttribute("style", getLabelStyle(), "style");
  			}
  			rw.writeText(label, null);
  			rw.endElement("label");
  		}
  	}
docs: Renders the optional label. This method is protected in order to allow
  third-party frameworks to derive from it.
  
  @param rw
  the response writer
  @param clientId
  the id used by the label to refernce the input field
  @throws IOException
  may be thrown by the response writer