code: @Override
  	public final void handleRequest(final Request request) {
  		if (!beforeHandleRequest(request)) {
  			return;
  		}
  
  		setChangedInLastRequest(false);
  
  		if (isDisabled() || isReadOnly()) {
  			// Protect against client-side tampering of disabled/read-only fields.
  			return;
  		}
  
  		if (isPresent(request)) {
  
  			// Only process on a POST
  			if (!"POST".equals(request.getMethod())) {
  				LOG.warn("Input component on a request that is not a POST. Will be ignored.");
  				return;
  			}
  
  			boolean changed = doHandleRequest(request);
  
  			if (changed) {
  				setChangedInLastRequest(true);
  				doHandleChanged();
  			}
  		}
  	}
docs: Override handleRequest in order to perform consistent processing for input components.
  <p>
  To protect against client-side tampering of the request, disabled/readonly input fields will not have their
  handle request processing performed.
  </p>
  <p>
  This method will call {@link #doHandleRequest(Request)} for input components to process the request. If the input
  component has changed, then this method will call {@link #doHandleChanged()} and set the
  {@link #isChangedInLastRequest()} flag.
  </p>
  
  @param request the request being responded to.