Bug 126658 [CommonNavigator] [DND] Complete definition of DND API
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonViewer.java
Object[] elements) {
		if (elements.length == 1) {
			if (equals(elements[0], widget.getData()))
				return;
		}
		
		TreeViewerSorter sorter = (TreeViewerSorter) getSorter();
		Item[] items = getChildren(widget);
		
		
		int lastInsertion = 0;
		
		if (items.length == 0) {
			for (int i = 0; i < elements.length; i++) {
				createTreeItem(widget, elements[i], -1);
			}
			return;
		}
		for (int i = 0; i < elements.length; i++) {
			boolean newItem = true;
			Object element = elements[i];
			int index;
			if (getSorter() == null) {
				if (itemExists(items, element)) {
					refresh(element);
					newItem = false;
				}
				index = -1;
			} else {
				lastInsertion = insertionPosition(items, lastInsertion, sorter,