Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/UpdatableCollectionViewer.java
} else {
					old = computeElement(index);
					removeElement(index);
					addElement(element, index);
				}
				fireChangeEvent(ChangeEvent.CHANGE, old, element, index);
			} finally {
				updating=false;
			}
		}
	}
	public Object computeElement(int index) {
		return elements.get(index);
	}
	public Class getElementType() {
		return Object.class;
	}
	public Object getSelectedObject() {
		SyncRunnable runnable = new SyncRunnable(){
			public Object run(){
				StructuredSelection selection = (StructuredSelection) viewer.getSelection();
				if (selection.isEmpty()) {
					return null;
				}
				return selection.getFirstElement();
			}
		};
		return runnable.runOn(viewer.getControl().getDisplay());
	}