Bug 239015 [Databinding] ObservableListTreeContentProvider adds the value passed to TreeViewer#setInput() to the known-elements
The input element is never shown in the viewer so it should no get part of the knownElements further more it restricts the usability of the content-provider because the input-element itself already has to provide the required Observable-Attribute(s).
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ObservableCollectionTreeContentProvider.java
}
			if (parentSet != null && parentSet.isEmpty())
				parentSet = null;
			if (parent == null) {
				dispose();
			}
		}
		private Object getParent() {
			return parent;
		}
		private void initChildren() {
			if (children == null) {
				children = (IObservableCollection) collectionFactory
						.createObservable(element);
				if (children == null) {
					listener = null;
					children = Observables.emptyObservableSet(realm);
				} else {
					Assert
							.isTrue(Util.equals(realm, children.getRealm()),
									"Children observable collection must be on the Display realm"); 
					listener = createCollectionChangeListener(element);
					addCollectionChangeListener(children, listener);
				}
			}
		}
		boolean hasChildren() {
			initChildren();
			return !children.isEmpty();
		}