code: @Override
  	public void decode(FacesContext context, UIComponent component) {
  		TouchSpin spinner = (TouchSpin) component;
  
  		if (spinner.isDisabled() || spinner.isReadonly()) {
  			return;
  		}
  
  		decodeBehaviors(context, spinner);
  
  		String clientId = spinner.getClientId(context);
  		String name = spinner.getName();
  		if (null == name) {
  			name = "input_" + clientId;
  		}
  		String submittedValue = (String) context.getExternalContext().getRequestParameterMap().get(name);
  
  		if (submittedValue != null) {
  			spinner.setSubmittedValue(submittedValue);
  		}
  		new AJAXRenderer().decode(context, component, name);
  	}
docs: This methods receives and processes input made by the user. More specifically, it ckecks whether the
  user has interacted with the current b:spinner. 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:spinner.