Bug 79916 [Viewers] isDisposed check needed in AbstractTreeViewer#internalRemove
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
* recursively walks up towards the root of the tree and assumes that
     * <code>getParent</code> returns the correct parent of an element.
     * 
     * @param element
     *           the element
     * @param expand
     *           <code>true</code> if all nodes on the path should be
     *           expanded, and <code>false</code> otherwise
     * @return Widget
     */
    protected Widget internalExpand(Object element, boolean expand) {
        if (element == null)
            return null;
        Widget w = internalGetWidgetToSelect(element);
        if (w == null) {
            if (equals(element, getRoot())) { 
                return null;
            }
            
            ITreeContentProvider cp = (ITreeContentProvider) getContentProvider();
            if (cp == null) {
                return null;
            }
            Object parent = cp.getParent(element);
            if (parent != null) {
                Widget pw = internalExpand(parent, expand);
                if (pw != null) {
                    
                    createChildren(pw);