public GUILayerItem TraceCollisionPointer(Point location) { List <GUILayerItem> items = null; itemsLayout.CheckRadius(location.X, location.Y, ref items); if (items != null && items.Count > 0) { // choose last item found as it's drawn above any overlapping items in this layer GUILayerItem item = items[items.Count - 1]; items.Clear(); return(item); } return(null); }