[359582] gmf-R1_4_maintenance ahunter 120214 DiagramEventBroker doesn't check if the WeakReference's get() method returns null
diff --git a/org.eclipse.gmf.runtime.diagram.core/META-INF/MANIFEST.MF b/org.eclipse.gmf.runtime.diagram.core/META-INF/MANIFEST.MF
index 33cf600..240ccc2 100644
--- a/org.eclipse.gmf.runtime.diagram.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.gmf.runtime.diagram.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: %Plugin.name

 Bundle-SymbolicName: org.eclipse.gmf.runtime.diagram.core; singleton:=true

-Bundle-Version: 1.4.0.qualifier

+Bundle-Version: 1.4.3.qualifier

 Bundle-Activator: org.eclipse.gmf.runtime.diagram.core.internal.DiagramPlugin

 Bundle-Vendor: %Plugin.providerName

 Bundle-Localization: plugin

diff --git a/org.eclipse.gmf.runtime.diagram.core/src/org/eclipse/gmf/runtime/diagram/core/listener/DiagramEventBroker.java b/org.eclipse.gmf.runtime.diagram.core/src/org/eclipse/gmf/runtime/diagram/core/listener/DiagramEventBroker.java
index 03d066a..e8b70ee 100644
--- a/org.eclipse.gmf.runtime.diagram.core/src/org/eclipse/gmf/runtime/diagram/core/listener/DiagramEventBroker.java
+++ b/org.eclipse.gmf.runtime.diagram.core/src/org/eclipse/gmf/runtime/diagram/core/listener/DiagramEventBroker.java
@@ -1,5 +1,5 @@
 /******************************************************************************
- * Copyright (c) 2002, 2007 IBM Corporation and others.
+ * Copyright 2002, 2012 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -232,8 +232,12 @@
 
 	private static DiagramEventBroker initializeDiagramEventBroker(TransactionalEditingDomain editingDomain) {
         WeakReference reference = (WeakReference) instanceMap.get(editingDomain);
-        if (reference == null) {
-            DiagramEventBroker diagramEventBroker = DiagramEventBrokerService.getInstance().createDiagramEventBroker(editingDomain);
+        DiagramEventBroker diagramEventBroker = null;
+        if (reference != null) {
+        	diagramEventBroker = (DiagramEventBroker) reference.get();
+        }
+        if (reference == null || diagramEventBroker == null) {
+            diagramEventBroker = DiagramEventBrokerService.getInstance().createDiagramEventBroker(editingDomain);
             if (null == diagramEventBroker)
                 diagramEventBroker = debFactory.createDiagramEventBroker(editingDomain);
             if (diagramEventBroker.editingDomainRef == null) {