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
* event.
	 */
	public static final int POLICY_AUTOMATIC = 1;
	/**
	 * Policy constant specifying that update or validation should only occur
	 * when explicitly requested by calling {@link #updateModels() } or
	 * {@link #updateTargets() }.
	 */
	public static final int POLICY_EXPLICIT = 2;
	/**
	 * Constant specifiying that validation or update events from UI observables
	 * should be triggered early, typically on each keystroke.
	 */
	public static final int TIME_EARLY = 0;
	/**
	 * Constant specifiying that validation or update events from UI observables
	 * should be triggered late, typically on focus lost.
	 */
	public static final int TIME_LATE = 1;
	private List bindingEventListeners = new ArrayList();
	private WritableList bindings = new WritableList();
	private List bindSupportFactories = new ArrayList();
	protected DataBindingContext parent;
	private ComputedValue partialValidationError = new ComputedValue() {
		protected Object calculate() {
			int size = partialValidationErrors.size();
			return size == 0 ? null : partialValidationErrors.get(size - 1);
		}
	};
	private ObservableList partialValidationErrors = new ValidationErrorList(