* @param item the item to insert
* @param index the insert location
*/
@SuppressWarnings("unchecked")
protected boolean insert(T item, int index) {
ContainerEvent containerEvent = createContainerEvent(item);
containerEvent.setIndex(index);
if (fireEvent(Events.BeforeAdd, containerEvent)) {
ComponentEvent componentEvent = item.createComponentEvent(null);
if (item.fireEvent(Events.BeforeAdopt, componentEvent)) {
index = adjustIndex(item, index);
item.removeFromParent();