Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/NestedUpdatableValue.java
private Object currentOuterValue;
	private Object feature;
	private IUpdatableValue innerUpdatableValue;
	private IDataBindingContext databindingContext;
	private Class featureType;
	private IUpdatableValue outerUpdatableValue;
	/**
	 * @param databindingContext
	 * @param outerUpdatableValue
	 * @param feature
	 * @param featureType 
	 */
	public NestedUpdatableValue(IDataBindingContext databindingContext,
			IUpdatableValue outerUpdatableValue, Object feature, Class featureType) {
		this.databindingContext = databindingContext;
		this.feature = feature;
		this.featureType = featureType;
		this.outerUpdatableValue = outerUpdatableValue;
		updateInnerUpdatableValue(outerUpdatableValue);
		
		outerUpdatableValue.addChangeListener(outerChangeListener);
	}
	IChangeListener outerChangeListener = new IChangeListener() {
		public void handleChange(ChangeEvent changeEvent) {
			if (changeEvent.getChangeType() == ChangeEvent.CHANGE) {
				Object oldValue = computeValue();
				updateInnerUpdatableValue(outerUpdatableValue);
				fireChangeEvent(ChangeEvent.CHANGE, oldValue, computeValue());
			}
		}