code: @Override
  	public synchronized WComponent getUI(final String key) {
  		Object obj = registry.get(key);
  
  		if (obj == null) {
  			// Looks like we haven't tried loading this UI yet, so do it now.
  			obj = loadUI(key);
  
  			// Cache the result.
  			// Note that the result could be a flag indicating that no UI could be load for the given key.
  			registry.put(key, obj);
  
  			if (obj instanceof WComponent) {
  				((WComponent) obj).setLocked(true);
  			}
  		}
  
  		if (obj instanceof WComponent) {
  			LOG.debug("Returning cached WComponent. Key=" + key);
  			return (WComponent) obj;
  		} else {
  			return null;
  		}
  	}
docs: Retrieves the user interface that was registered with the given key. If the UI has not been registered, this
  attempts to load the UI using the key as a class name.
  
  @param key the registration key
  @return the UI for the given key. The UI may be newly created.