}
private String[] removeNestedChildren(FacesContext context, String[] ids) {
List idList = Arrays.asList(ids);
final List trimmedIds = new ArrayList(idList);
for (final ListIterator i = trimmedIds.listIterator(); i.hasNext();) {
String id = (String) i.next();
invokeOnComponent(context, id, new ContextCallback() {
public void invokeContextCallback(FacesContext context, UIComponent component) {
while (!(component.getParent() instanceof UIViewRoot)) {
component = component.getParent();