Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/ITree.java
*/
		public void fireTreeChange(ChangeEvent evt) {
			Object oval = evt.getOldValue();
			Object nval = evt.getNewValue();
			
			if (listeners==null ||
				(oval != null && nval != null && oval.equals(nval))) {
				return;
			}
			
			IChangeListener[] list = (IChangeListener[])listeners.toArray(new IChangeListener[listeners.size()]);
			for (int i = 0; i < list.length; i++) {
				list[i].handleChange(evt);
			}
		}
	}
	
		
	/**
	 * Returns the children elements of the given parent element.
	 *
	 * @param parentElement the parent element, <code>null</code> for root elements
	 * @return an array of child elements
	 */
	public Object[] getChildren(Object parentElement);
	
	/**
	 * Returns whether the given element has children.
	 *
	 * @param element the element