Bug 98107 [Viewers] Change visibility of AbstractTreeViewer#internalRemove from private to protected
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
boolean haveDummy = false;
                
                Item[] items = getItems(ti);
                for (int i = 0; i < items.length; i++) {
                    if (items[i].getData() != null) {
                        disassociate(items[i]);
                        items[i].dispose();
                    } else {
                        if (needDummy && !haveDummy) {
                            haveDummy = true;
                        } else {
                            items[i].dispose();
                        }
                    }
                }
                
                if (needDummy && !haveDummy) 
                    newItem(ti, SWT.NULL, -1);
                return;
            }
        }
        if (childElements.length > 0) {
            Object[] filtered = filter(childElements);
			if(getSorter() != null)
				getSorter().sort(this,filtered);
            createAddedElements(widget, filtered);
        }
	}
	/**
     * Create the new elements in the parent widget. If the