Bug 98107 [Viewers] Change visibility of AbstractTreeViewer#internalRemove from private to protected
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
updateItem(item, element);
        updatePlus(item, element);
    }
    /**
     * The <code>AbstractTreeViewer</code> implementation of this method also
     * recurses over children of the corresponding element.
     */
    protected void disassociate(Item item) {
        super.disassociate(item);
        
        
        
        if (usingElementMap())
            disassociateChildren(item);
    }
    /**
     * Disassociates the children of the given SWT item from their
     * corresponding elements.
     * 
     * @param item
     *           the widget
     */
    private void disassociateChildren(Item item) {
        Item[] items = getChildren(item);
        for (int i = 0; i < items.length; i++) {
            if (items[i].getData() != null)
                disassociate(items[i]);
        }
    }