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
if (elements.length == 1) {
			if (equals(elements[0], widget.getData())) {
				return;
			}
		}
		ViewerComparator comparator = getComparator();
		TreePath parentPath = internalGetSorterParentPath(widget, comparator);
		Item[] items = getChildren(widget);
		
		
		int lastInsertion = 0;
		
		if (items.length == 0) {
			for (int i = 0; i < elements.length; i++) {
				createTreeItem(widget, elements[i], -1);
			}
			return;
		}
		for (int i = 0; i < elements.length; i++) {
			boolean newItem = true;
			Object element = elements[i];
			int index;
			if (comparator == null) {
				if (itemExists(items, element)) {
					refresh(element);
					newItem = false;
				}
				index = -1;
			} else {
				lastInsertion = insertionPosition(items, comparator,