Bug 171649 [Viewers] AbstractTreeViewerisExpandable(elementOrTreePath) is not called when using a ITreePathContentProvider
Build ID: 3.3M3 More information: see AbstractTreeViewer.java, line 1974, the content provider hasChildren() should not be called directly
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
* details. This support will likely be removed in Eclipse 3.2 in favour of
	 * proper support for multiple equal elements.
	 * </p>
	 * 
	 * @param elementsOrPaths
	 *            the elements or element paths to remove
	 * @since 3.1
	 */
	protected void internalRemove(Object[] elementsOrPaths) {
		Object input = getInput();
		
		
		CustomHashtable parentItems = new CustomHashtable(5);
		for (int i = 0; i < elementsOrPaths.length; ++i) {
			Object element = elementsOrPaths[i];
			if (equals(element, input)) {
				setInput(null);
				return;
			}
			Widget[] childItems = internalFindItems(element);
			for (int j = 0; j < childItems.length; j++) {
				Widget childItem = childItems[j];
				if (childItem instanceof Item) {
					Item parentItem = getParentItem((Item) childItem);
					if (parentItem != null) {
						parentItems.put(parentItem, parentItem);
					}
					disassociate((Item) childItem);
					childItem.dispose();
				}