Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/CollectionBinding.java
needsUpdate.setElement(row, changeEvent.getNewValue());
				}
				else if (changeEvent.getChangeType() == ChangeEvent.ADD) {
					needsUpdate.addElement(changeEvent.getNewValue(), row);
				}
				else if (changeEvent.getChangeType() == ChangeEvent.REMOVE) {
					needsUpdate.removeElement(row);
				}
				e.pipelinePosition = BindingEvent.PIPELINE_AFTER_CHANGE;
				if (failure(errMsg(fireBindingEvent(e)))) {
					return;
				}
			} finally {
				updating = false;
			}
		}
	}
	/**
	 * Copy model's element into the target
	 */
	public void updateTargetFromModel(ChangeEvent changeEvent) {
		copyContents(changeEvent, target, model);
	}
	private void copyContents(ChangeEvent changeEvent,
			IUpdatableCollection destination, IUpdatableCollection source) {
		try {
		   updating = true;
		   
		   int copyType = BindingEvent.EVENT_COPY_TO_MODEL;
		   if (destination == target) {