Bug 127861 [DataBinding] Mark API provisional
examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
public RenamableItem() {
		name = "RenamableItem";
	}
	
	public void addListener(IChangeListener listener) {
		listeners.add(listener);
	}
	
	public void removeListener(IChangeListener toRemove) {
		listeners.remove(toRemove);
	}
	
	public void setName(String newName) {
		this.name = newName;
		
		ChangeEvent e = new ChangeEvent(this, ChangeEvent.DIRTY, null, null);
		
		IChangeListener[] l = (IChangeListener[]) listeners.toArray(new IChangeListener[listeners.size()]);
		for (int i = 0; i < l.length; i++) {
			IChangeListener listener = l[i];
			
			listener.handleChange(e);
		}
	}
	
	public String getName() {
		return name;
	}
}