Bug 147530 [DataBinding] Provide event objects for change listeners
Before data binding goes 1.0 it would be wise to provide EventObjects for the following listeners to ensure that the API doesn't preclude future expansion of the values supplied to listeners. Interfaces that would be affected: * IValueChangeListener * IValueChangingListener * IListChangeListener * ISetChangeListener * IMappingChangeListener
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/UnorderedTreeNode.java
* 
     * @return
     */
    public Object getParent() {
        return parent;
    }
    
    /**
     * @return
     */
    public Set getParents() {
        if (parents == null) {
            if (parent == null) {
                return Collections.EMPTY_SET;
            }
			return Collections.singleton(parent);
        }
		return parents;
    }
    
    /**
     * Called when the child set changes. Should not be called directly by the viewer.
     */
    public void handleSetChange(IObservableSet source, SetDiff diff) {
        boolean shouldHavePendingNode = children.isEmpty() && children.isStale();
        
        Set additions = diff.getAdditions();
        
        if (shouldHavePendingNode && !hasPendingNode) {
            HashSet newAdditions = new HashSet();