Bug 448284 - EventManager#removeListenerObject is not consistent

When null is passed to #removeListenerObject(Object) and listenerList is
null, an IAE should be thrown.

Change-Id: I0702c3616ddac80dfba9e2704ce8dac83cf7fd5b
Signed-off-by: Mikael Barbero <mikael@eclipse.org>
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/EventManager.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/EventManager.java
index 037b553..86668d2 100644
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/EventManager.java
+++ b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/EventManager.java
@@ -99,12 +99,17 @@
 	}
 
 	/**
-	 * Removes a listener from this manager.
+	 * Removes a listener from this manager. Has no effect if the same listener
+	 * was not already registered.
 	 *
 	 * @param listener
 	 *            The listener to be removed; must not be <code>null</code>.
 	 */
 	protected synchronized final void removeListenerObject(final Object listener) {
+		if (listener == null) {
+			throw new IllegalArgumentException();
+		}
+
 		if (listenerList != null) {
 			listenerList.remove(listener);