Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/provisional/databinding/ITree.java
listeners=new ArrayList();
				}
				listeners.add(listener);
			}
		}
		
		/**
		 * @param listener
		 */
		public void removeTreeChangeListener(IChangeListener listener) {
			if (listener==null || listeners==null) {
				return;
			}
			listeners.remove(listener);
		}
		
		/**
		 * @param changeType
		 * @param oldValue
		 * @param newValue
		 * @param parent
		 * @param index
		 */
		public void fireTreeChange(int changeType, Object oldValue, Object newValue, Object parent, int index) {
			ChangeEvent evt = new ChangeEvent(source, changeType, oldValue, newValue, parent, index);
			fireTreeChange(evt);
		}
		
		/**
		 * @param evt