public void insert(final PWidget widget, final PWidget tabWidget, final int beforeIndex) { // Detach new child. widget.removeFromParent(); getChildren().insert(widget, beforeIndex); // Adopt. adopt(widget); final Add addWidget = new Add(widget.getID(), getID()); addWidget.put(PROPERTY.BEFORE_INDEX, beforeIndex); addWidget.put(PROPERTY.TAB_WIDGET, tabWidget.getID()); getUIContext().stackInstruction(addWidget); }