Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/NestedUpdatableCellProvider.java
private final class ReadableSetWrapper extends AbstractUpdatableSet implements EventSource {
		protected Collection computeElements() {
			return innerUpdatableCellProvider.getReadableSet().toCollection();
		}
		public ChangeEvent fireEvent(int changeType, Object oldValue, Object newValue, Object parent, int position) {
			return fireChangeEvent(changeType, oldValue, newValue, parent, position);
		}
	}
	private final class InnerChangeListener implements IChangeListener {
		private EventSource fireFrom;
		private InnerChangeListener(EventSource fireFrom) {
			this.fireFrom = fireFrom;
		}
		public void handleChange(ChangeEvent changeEvent) {
			if (!updating) {
				ChangeEvent nestedEvent = fireFrom.fireEvent(changeEvent.getChangeType(), changeEvent
						.getOldValue(), changeEvent.getNewValue(), changeEvent.getParent(), changeEvent.getPosition());
				if(nestedEvent.getVeto()) {
					changeEvent.setVeto(true);
				}
			}
		}