Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/ConditionalUpdatableValue.java
public void setValue(Object value) {
		throw new UnsupportedOperationException();
	}
	public Object computeValue() {
		Object[] currentValues = new Object[innerUpdatableValues.length];
		for (int i = 0; i < currentValues.length; i++) {
			currentValues[i] = innerUpdatableValues[i].getValue();
		}		
		return new Boolean(compute(currentValues.length==1?currentValues[0]:currentValues));
	}
	/**
	 * To be implemented by subclasses.
	 * 
	 * @param currentValue
	 *            the current value of the tracked updatable value, or
	 *            the array of the current values of the tracked updatable values.
	 * @return a boolean result
	 */
	abstract protected boolean compute(Object currentValue);
	public Class getValueType() {
		return Boolean.class;
	}
	public void dispose() {
		super.dispose();
		for (int i = 0; i < innerUpdatableValues.length; i++) {
			innerUpdatableValues[i].removeChangeListener(changeListener);
		}		
	}
}