Bug 79916 [Viewers] isDisposed check needed in AbstractTreeViewer#internalRemove
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
*           determining which item is next, and <code>false</code> if
     *           subtrees are ignored
     * @return the next item, or <code>null</code> if none
     */
    protected Item getNextItem(Item item, boolean includeChildren) {
        if (item == null) {
            return null;
        }
        if (includeChildren && getExpanded(item)) {
            Item[] children = getItems(item);
            if (children != null && children.length > 0) {
                return children[0];
            }
        }
        
        
        Item parent = getParentItem(item);
        if (parent == null) {
            return null;
        }
        Item[] siblings = getItems(parent);
        if (siblings != null && siblings.length <= 1) {
            return getNextItem(parent, false);
        }
        for (int i = 0; i < siblings.length; i++) {
            if (siblings[i] == item && i < (siblings.length - 1)) {
                return siblings[i + 1];
            }
        }
        return getNextItem(parent, false);