Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/UpdatableCollection.java
/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#getSize()
	 */
	public final int getSize() {
		UpdatableTracker.getterCalled(this);
		return computeSize();
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#getSize()
	 */
	protected abstract int computeSize();
	/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#addElement(java.lang.Object, int)
	 */
	public abstract int addElement(Object value, int index);
	/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#removeElement(int)
	 */
	public abstract void removeElement(int index);
	/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#setElement(int, java.lang.Object)
	 */
	public abstract void setElement(int index, Object value);
	/* (non-Javadoc)
	 * @see org.eclipse.jface.internal.provisional.databinding.IUpdatableCollection#getElement(int)
	 */
	public final Object getElement(int index) {
		UpdatableTracker.getterCalled(this);
		
		return computeElement(index);