code: @Override
  	public void handleRequest(final Request request) {
  		if (!isInitialised()) {
  			getOrCreateComponentModel().delegate = new SafetyContainerDelegate(UIContextHolder.
  					getCurrent());
  			setInitialised(true);
  		}
  
  		try {
  			UIContext delegate = getComponentModel().delegate;
  			UIContextHolder.pushContext(delegate);
  
  			try {
  				for (int i = 0; i < shim.getChildCount(); i++) {
  					shim.getChildAt(i).serviceRequest(request);
  				}
  
  				delegate.doInvokeLaters();
  			} finally {
  				UIContextHolder.popContext();
  			}
  		} catch (final ActionEscape e) {
  			// We don't want to catch ActionEscapes (e.g. ForwardExceptions)
  			throw e;
  		} catch (final Exception e) {
  			if (isAjaxOrTargetedRequest(request)) {
  				throw new SystemException(e.getMessage(), e);
  			} else {
  				setAttribute(ERROR_KEY, e);
  			}
  		}
  	}
docs: Override handleRequest in order to safely process the example component, which has been excluded from normal
  WComponent processing.
  
  @param request the request being responded to.