Bug 157174 [Viewers] Refactor new Viewer API
We are yet not completely happy with the API and refactor it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
protected void internalInitializeTree(Control widget) {
		if (getContentProvider() instanceof ILazyTreeContentProvider) {
			ILazyTreeContentProvider lazyTreeContentProvider = (ILazyTreeContentProvider) getContentProvider();
			if (widget instanceof Tree && widget.getData() != null) {
				lazyTreeContentProvider.updateChildCount(widget.getData(), 0);
				return;
			}
		}
		super.internalInitializeTree(tree);
	}
	
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#updatePlus(org.eclipse.swt.widgets.Item, java.lang.Object)
	 */
	protected void updatePlus(Item item, Object element) {
		if (getContentProvider() instanceof ILazyTreeContentProvider) {
			ILazyTreeContentProvider contentProvider = (ILazyTreeContentProvider) getContentProvider();
			Object data = item.getData();
			int itemCount = 0;
			if (data != null) {
				
				itemCount = ((TreeItem) item).getItemCount();
			}
			contentProvider.updateChildCount(element, itemCount);
		} else {
			super.updatePlus(item, element);
		}
	}
}