code: @Override
  	public UIComponent getComponentAt(int x, int y)
  	{
  		if (!isEnabled() || !isVisible())
  			return null;
  
  		//super impl will return control components or itself
  		//control components take precedence over child components
  		UIComponent superComp = super.getComponentAt(x, y);
  		if (superComp != null && superComp != this)
  			return superComp;
  
  		if (shouldClipContent() && !getClipArea().isInside(x, y))
  			return superComp;
  
  		Set<UIComponent> list = new LinkedHashSet<>();
  		for (UIComponent c : content.components)
  		{
  			UIComponent component = c.getComponentAt(x, y);
  			if (component != null)
  				list.add(component);
  		}
  
  		if (list.size() == 0)
  			return superComp;
  
  		UIComponent component = superComp;
  		for (UIComponent c : list)
  		{
  			if (component != null && (component.getZIndex() <= c.getZIndex()))
  				component = c;
  		}
  
  		return component != null && component.isEnabled() ? component : superComp;
  	}
docs: Gets the {@link UIComponent} at the specified coordinates.<br>
  Selects the component with the highest z-index from the components overlapping the coordinates.
  
  @param x the x
  @param y the y
  @return the child component in this {@link UIContainer}, this {@link UIContainer} if none, or null if outside its bounds.