Bug 533368 - Ensure in LazyStackRenderer that Placeholder hold a valid
reference

Change-Id: I930c1d1216da4841e3144426c91e7bab3126b233
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
index ad47723..f00e028 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
@@ -13,6 +13,8 @@
  *******************************************************************************/
 package org.eclipse.e4.ui.workbench.renderers.swt;
 
+import static org.eclipse.core.runtime.Assert.isNotNull;
+
 import java.util.ArrayList;
 import java.util.List;
 import org.eclipse.e4.core.contexts.IEclipseContext;
@@ -125,11 +127,13 @@
 			// an *existing* part, this doesn't break lazy loading since the
 			// part is already there...see bug 378138 for details
 			if (element instanceof MPlaceholder) {
-				MPlaceholder ph = (MPlaceholder) element;
-				if (ph.getRef().getTags().contains(IPresentationEngine.NO_RESTORE)) {
+				MPlaceholder placeholder = (MPlaceholder) element;
+				isNotNull(placeholder.getRef(),
+						"Placeholder " + placeholder.getElementId() + " does not point to a valid reference"); //$NON-NLS-1$ //$NON-NLS-2$
+				if (placeholder.getRef().getTags().contains(IPresentationEngine.NO_RESTORE)) {
 					continue;
 				}
-				if (ph.getRef() instanceof MPart && ph.getRef().getWidget() != null) {
+				if (placeholder.getRef() instanceof MPart && placeholder.getRef().getWidget() != null) {
 					lazy = false;
 				}
 			}