Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/AbstractUpdatableSet.java
/**
	 * Optimization: this event instance is created lazily and cached
	 * to reduce garbage collection overhead.
	 */
	private ChangeEvent cachedAddEvent = null;
	/**
	 * Optimization: this event instance is created lazily and cached
	 * to reduce garbage collection overhead.
	 */
	private ChangeEvent cachedRemoveEvent = null;
	protected final void fireAdded(Collection added) {
        if (added.size() > 0) {        	
        	ChangeEvent event;
        	
        	if (cachedAddEvent != null) {
        		event = cachedAddEvent;
        		event.newValue = added;
        		
        		cachedAddEvent = null;
        	} else {
        		event = new ChangeEvent(this, ChangeEvent.ADD_MANY, null, added);
        	}
        	
        	fireChangeEvent(event);
        	
        	cachedAddEvent = event;
        }
	}
	protected final void fireRemoved(Collection removed) {
        if (removed.size() > 0) {