Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/UpdatableCollectionViewer.java
public void inputChanged(Viewer viewer, Object oldInput,
					Object newInput) {
			}
		});
		viewer.setInput(this);
	}
	public int computeSize() {
		return elements.size();
	}
	public int addElement(Object element, int index) {
		if (!updating) {
			try {
				updating = true;
				int position = primAddElement(element, index);
				if (position == elements.size() - 1
						|| viewer.getSorter() != null) {
					viewer.add(element);
				} else {
					viewer.refresh();
				}
				fireChangeEvent(ChangeEvent.ADD, null, element, position);
				return position;
			} finally {
				updating = false;
			}
		}
		return index;
	}
	private int primAddElement(Object element, int index) {
		int position = elements.size();