Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/TableBinding.java
/**
	 * @param context
	 * @param target
	 * @param model
	 * @param bindSpec 
	 */
	public TableBinding(DataBindingContext context,
			IUpdatableTable target, IUpdatableCellProvider model,
			IBindSpec bindSpec) {
		super(context);
		this.target = target;
		this.model = model;
		this.modelSet = model.getReadableSet();
		target.addChangeListener(targetChangeListener);
		model.addChangeListener(cellsChangeListener);
		modelSet.addChangeListener(modelChangeListener);
	}
	
	private final IChangeListener targetChangeListener = new IChangeListener() {
		public void handleChange(ChangeEvent changeEvent) {}
	};
	private IChangeListener cellsChangeListener = new IChangeListener() {
		public void handleChange(ChangeEvent changeEvent) {
			if (changeEvent.getChangeType() == ChangeEvent.CHANGE_MANY) {
				Collection changedElements = (Collection) changeEvent.getNewValue();
				target.updateElements(changedElements.toArray());
			}
		}
	};
	private IChangeListener modelChangeListener = new IChangeListener() {