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
Object getElement() {
			return element;
		}
		private boolean equal(Object left, Object right) {
			if (comparer == null)
				return Util.equals(left, right);
			return comparer.equals(left, right);
		}
		public void addParent(Object newParent) {
			if (parent == null) {
				parent = newParent;
			} else if (!equal(parent, newParent)) {
				if (parentSet == null) {
					parentSet = ViewerElementSet.withComparer(comparer);
					parentSet.add(parent);
				}
				parentSet.add(newParent);
			}
		}
		public void removeParent(Object oldParent) {
			if (parentSet != null)
				parentSet.remove(oldParent);
			if (equal(parent, oldParent)) {
				if (parentSet == null || parentSet.isEmpty()) {
					parent = null;
				} else {
					Iterator iterator = parentSet.iterator();
					parent = iterator.next();
					iterator.remove();
				}