*/
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();
if (item.isRendered()) {
// make sure to detach it from the dom first