FIXED - bug 273265: [DataBinding] ChangeManager doesn't support Cloneable
https://bugs.eclipse.org/bugs/show_bug.cgi?id=273265
diff --git a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
index a100ad6..2d9ae01 100644
--- a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
+++ b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Matthew Hall - bugs 118516, 255734
+ *     Chris Audley - bug 273265
  *******************************************************************************/
 
 package org.eclipse.core.databinding.observable;
@@ -22,17 +23,17 @@
  * @since 1.0
  * 
  */
-/* package */ class ChangeManager {
+/* package */class ChangeManager {
 
 	ListenerList[] listenerLists = null;
 	Object listenerTypes[] = null;
 	private Realm realm;
 
 	/**
-	 * @param realm 
+	 * @param realm
 	 * 
 	 */
-	/* package */ ChangeManager(Realm realm) {
+	/* package */ChangeManager(Realm realm) {
 		Assert.isNotNull(realm, "Realm cannot be null"); //$NON-NLS-1$
 		this.realm = realm;
 	}
@@ -148,4 +149,10 @@
 		return realm;
 	}
 
+	protected Object clone() throws CloneNotSupportedException {
+		ChangeManager duplicate = (ChangeManager) super.clone();
+		duplicate.listenerLists = null;
+		duplicate.listenerTypes = null;
+		return duplicate;
+	}
 }