Bug 172765 [DataBinding] Consistency when registering property change listeners
bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableSet.java
private final Object object;
	private PropertyChangeListener collectionListener = new PropertyChangeListener() {
		public void propertyChange(java.beans.PropertyChangeEvent event) {
			if (!updating) {
				if (JavaBeanObservableSet.this.descriptor.getName().equals(
						event.getPropertyName())) {
					Set newElements = new HashSet(Arrays.asList(getValues()));
					Set addedElements = new HashSet(newElements);
					Set removedElements = new HashSet(wrappedSet);
					
					
					removedElements.removeAll(newElements);
					addedElements.removeAll(wrappedSet);
					wrappedSet = newElements;
					fireSetChange(Diffs.createSetDiff(addedElements,
							removedElements));
				}
			}
		}
	};
	private boolean updating = false;
	private PropertyDescriptor descriptor;
	private ListenerSupport collectionListenSupport = new ListenerSupport(
			collectionListener);
	/**
	 * @param realm 
	 * @param object
	 * @param descriptor
	 * @param elementType