Bug 159940 [DataBinding] DataBindingContext shouldn't expose the bindings list as a mutable list
Currently in DataBindingContext getBindings() exposes the bindings observable list as a mutable observable list. I think we need to make this an unmodifiable list and also add a removeBinding(Binding binding) method to the API of DataBindingContext so that the DBC can remove itself from the binding when removed from the DBC. I'll create a patch soon.
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/DataBindingContext.java
IObservableValue modelObservableValue, BindSpec bindSpec) {
		if (bindSpec == null) {
			bindSpec = new BindSpec();
		}
		fillBindSpecDefaults(this, bindSpec, targetObservableValue
				.getValueType(), modelObservableValue.getValueType());
		Binding result = new ValueBinding(this, targetObservableValue,
				modelObservableValue, bindSpec);
        bindings.add(result);
		return result;
	}
	/**
	 * Binds two observable lists using converter and validator as specified in
	 * bindSpec. If bindSpec is null, a default converter and validator is used.
	 * 
	 * @param targetObservableList
	 * @param modelObservableList
	 * @param bindSpec
	 *            the bind spec, or null. Any bindSpec object must not be reused
	 *            or changed after it is passed to #bind.
	 * @return The Binding that manages this data flow
	 */
	public Binding bindList(IObservableList targetObservableList,
			IObservableList modelObservableList, BindSpec bindSpec) {
		if (bindSpec == null) {
			bindSpec = new BindSpec();
		}
		fillBindSpecDefaults(this, bindSpec, targetObservableList.getElementType(), modelObservableList.getElementType());
		Binding result = new ListBinding(this, targetObservableList,
				modelObservableList, bindSpec);