Bug 376253 - Handler with no command NPEs in
E4Workbench.processHierarchy

Just skip handlers with no command.
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/E4Workbench.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/E4Workbench.java
index 1b8a2e9..fc78a1c 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/E4Workbench.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/E4Workbench.java
@@ -20,6 +20,7 @@
 import org.eclipse.e4.core.services.log.Logger;
 import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.model.application.MApplicationElement;
+import org.eclipse.e4.ui.model.application.commands.MCommand;
 import org.eclipse.e4.ui.model.application.commands.MHandler;
 import org.eclipse.e4.ui.model.application.commands.MHandlerContainer;
 import org.eclipse.e4.ui.model.application.ui.MContext;
@@ -161,7 +162,10 @@
 				EHandlerService hs = (EHandlerService) context.get(EHandlerService.class.getName());
 				List<MHandler> handlers = container.getHandlers();
 				for (MHandler handler : handlers) {
-					String commandId = handler.getCommand().getElementId();
+					MCommand command = handler.getCommand();
+					if (command == null)
+						continue;
+					String commandId = command.getElementId();
 					if (handler.getObject() == null) {
 						handler.setObject(cf.create(handler.getContributionURI(), context));
 					}