code: @Override
  	public synchronized WComponent getUI(final Object httpServletRequest) {
  		String configuredUIClassName = getComponentToLaunchClassName();
  
  		if (sharedUI == null || !Util.equals(configuredUIClassName, uiClassName)) {
  			uiClassName = configuredUIClassName;
  			WComponent ui = createUI();
  
  			if (ui instanceof WApplication) {
  				sharedUI = (WApplication) ui;
  			} else {
  				LOG.warn(
  						"Top-level component should be a WApplication."
  						+ " Creating WApplication wrapper...");
  
  				sharedUI = new WApplication();
  				ui.setLocked(false);
  				sharedUI.add(ui);
  				sharedUI.setLocked(true);
  			}
  
  			if (ConfigurationProperties.getLdeServerShowMemoryProfile()) {
  				ProfileContainer profiler = new ProfileContainer();
  
  				sharedUI.setLocked(false);
  				sharedUI.add(profiler);
  				sharedUI.setLocked(true);
  			}
  		}
  
  		return sharedUI;
  	}
docs: This method has been overridden to load a WComponent from parameters.
  
  @param httpServletRequest the servlet request being handled.
  @return the top-level WComponent for this servlet.