Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/UpdatableTreeContentProvider.java
}
    private void doFireRemove(Collection removed) {
        elements.doFireRemove(removed);
    }
    private ValueTreeNode createSubtree(Object parent, Object object, boolean childrenAddedToViewer) {
        ValueTreeNode result = (ValueTreeNode) mapElementToValueTreeNode.get(object);
        if (result == null) {
            result = new ValueTreeNode(object);
            mapElementToValueTreeNode.put(object, result);
        }
        
        if (childrenAddedToViewer) {
        	result.childrenAddedToViewer();
        }
        
        if (parent != null) {
        	result.addParent(parent);
        }
        
        if (parent == null || parent == inputElement || treeViewer.getExpandedState(parent)) {
            result.startListening();
        }
        return result;
    }
    private boolean pruneSubtree(Object parent, Object child) {
        ValueTreeNode result = (ValueTreeNode) mapElementToValueTreeNode.get(child);
        if (result != null) {
        	result.removeParent(parent);
        	if (result.getParents().isEmpty()) {
        		result.dispose();