code: @Override
  	public void handleRequest(final Request request) {
  		// Check if this link was the AJAX Trigger
  		AjaxOperation operation = AjaxHelper.getCurrentOperation();
  		boolean pressed = (operation != null && getId().equals(operation.getTriggerId()));
  
  		// Protect against client-side tampering of disabled/read-only fields.
  		if (isDisabled() && pressed) {
  			LOG.warn("A disabled link has been triggered. " + getText() + ". " + getId());
  			return;
  		}
  
  		// If an action has been supplied then execute it, but only after
  		// handle request has been performed on the entire component tree.
  		final Action action = getAction();
  
  		if (pressed && action != null) {
  			final ActionEvent event = new ActionEvent(this, getActionCommand(), getActionObject());
  
  			Runnable later = new Runnable() {
  				@Override
  				public void run() {
  					action.execute(event);
  				}
  			};
  
  			invokeLater(later);
  		}
  	}
docs: Override handleRequest in order to perform processing for this component. This implementation checks whether the
  link has been pressed via the current ajax operation.
  
  @param request the request being responded to.