Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ListeningLabelProvider.java
private IChangeListener listener = new IChangeListener() {
		public void handleChange(ChangeEvent changeEvent) {
			if (changeEvent.getChangeType() == ChangeEvent.ADD_MANY) {
				Collection added = (Collection)changeEvent.getNewValue();
				
				for (Iterator iter = added.iterator(); iter.hasNext();) {
					Object next = (Object) iter.next();
					
					addListenerTo(next);
				}
			} else if (changeEvent.getChangeType() == ChangeEvent.REMOVE_MANY) {
				Collection removed = (Collection)changeEvent.getNewValue();
				
				for (Iterator iter = removed.iterator(); iter.hasNext();) {
					Object next = (Object) iter.next();
					
					removeListenerFrom(next);
				}				
			}
		}	
	};
	private IReadableSet items;
	
	public ListeningLabelProvider(IReadableSet itemsThatNeedLabels) {
		this.items = itemsThatNeedLabels;