Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/CalculatedValue.java
*/
	public Class getValueType() {
		return valueType;
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.databinding.IUpdatableValue#getValue()
	 */
	public Object computeValue() {
		return calculatedResult;
	}
	
	/**
	 * Perform the calculation represented by this CalculatedValue.
	 * 
	 * @return the result of the calculation.
	 */
	protected abstract Object calculate();
	
	private boolean modifying = false;
	
	protected void handleChange() {
		if (!modifying) {
			modifying = true;
			try {
				Object oldValue = calculatedResult;
				calculatedResult = calculate();
				fireChangeEvent(ChangeEvent.CHANGE, oldValue, calculatedResult);
			} finally {
				modifying = false;
			}