Bug 158778 [Viewers] request for remove(parent, index) API on tree viewer
3.3 It would be helpful to have a 'remove(Object parent, int index)' method on the tree viewer to complement that 'replace(...)' and 'setChildCount(...)' APIs. The debug platform requires such a method to implement filtering in virtual tree views. Rather than performing a 'replace/remove' based on elements, the content provider can make one atomic call to remove an element at a specific index.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
int oldCnt = -1;
		if (widget == tree) {
			oldCnt = getItemCount(tree);
		}
		Item[] items = getChildren(widget);
		
		CustomHashtable expanded = newHashtable(CustomHashtable.DEFAULT_CAPACITY); 
																					
																					
																					
																					
		for (int i = 0; i < items.length; ++i) {
			if (getExpanded(items[i])) {
				Object element = items[i].getData();
				if (element != null) {
					expanded.put(element, element);
				}
			}
		}
		int min = Math.min(elementChildren.length, items.length);
		
		
		
		
		
		for (int i = items.length; --i >= min;) {
			if (items[i].getData() != null) {
				disassociate(items[i]);
			}