[521393] In the model handler, when creating a new lane, verify a valid flow element container and lane set

Change-Id: I78e0704dffda0299ba2c6afee8438d9ad9ca1374
Signed-off-by: Paul Leacu <pleacu@redhat.com>
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
index f32b051..7167eb3 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
@@ -597,12 +597,19 @@
 	public Lane createLane(Object target) {
 		Lane lane = createObject(Lane.class);
 		FlowElementsContainer container = getFlowElementContainer(target);
-		if (container.getLaneSets().isEmpty()) {
+		if (container == null)
+			return null;
+		
+		List<LaneSet> laneSets = container.getLaneSets();
+		if (laneSets == null)
+			return null;
+		
+		if (laneSets.isEmpty()) {
 			LaneSet laneSet = createObject(LaneSet.class);
 			laneSet.setName(Messages.ModelHandler_Lane_Set+ModelUtil.getIDNumber( laneSet.getId() ));
-			container.getLaneSets().add(laneSet);
+			laneSets.add(laneSet);
 		}
-		container.getLaneSets().get(0).getLanes().add(lane);
+		laneSets.get(0).getLanes().add(lane);
 		return lane;
 	}