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
setExpanded(item, expanded.containsKey(newElement));
		}
		
		if (min < elementChildren.length) {
			for (int i = min; i < elementChildren.length; ++i) {
				createTreeItem(widget, elementChildren[i], i);
			}
			
			
			
			if (expanded.size() > 0) {
				
				items = getChildren(widget);
				for (int i = min; i < elementChildren.length; ++i) {
					
					
					
					
					
					
					if (expanded.containsKey(elementChildren[i])) {
						setExpanded(items[i], true);
					}
				}
			}
		}
		
		if (widget == tree && oldCnt == 0 && getItemCount(tree) != 0) {
			
			tree.setRedraw(false);