code: @Override
  	public void decode(FacesContext context, UIComponent component) {
  		Icon icon = (Icon) component;
  
  		if (icon.isDisabled() || icon.isReadonly()) {
  			return;
  		}
  
  		decodeBehaviors(context, icon); // moved to AJAXRenderer
  		new AJAXRenderer().decode(context, component);
  	}
docs: This methods receives and processes input made by the user. More
  specifically, it ckecks whether the user has interacted with the current
  b:selectBooleanCheckbox. The default implementation simply stores the
  input value in the list of submitted values. If the validation checks are
  passed, the values in the <code>submittedValues</code> list are store in
  the backend bean.
  
  @param context
  the FacesContext.
  @param component
  the current b:selectBooleanCheckbox.