/*
   * (non-Javadoc)
   *
   * @see
   * de.hpi.bpmn2_0.factory.AbstractBpmnFactory#createBpmnElement(org.oryxeditor
   * .server.diagram.Shape)
   */
  @Override
  public BPMNElement createBpmnElement(Shape shape, BPMNElement parent) {
    SequenceFlowConnector seqConnector = (SequenceFlowConnector) this.createDiagramElement(shape);
    SequenceFlow seqFlow = (SequenceFlow) this.createProcessElement(shape);

    seqConnector.setSequenceFlowRef(seqFlow);

    return new BPMNElement(seqConnector, seqFlow, shape.getResourceId());
  }
  /*
   * (non-Javadoc)
   *
   * @seede.hpi.bpmn2_0.factory.AbstractBpmnFactory#createDiagramElement(org.
   * oryxeditor.server.diagram.Shape)
   */
  @Override
  protected Object createDiagramElement(Shape shape) {
    SequenceFlowConnector sequenceFlowConnector = new SequenceFlowConnector();
    sequenceFlowConnector.setId(shape.getResourceId() + "_gui");

    // TODO: Gedanken machen zu Label-Positioning
    sequenceFlowConnector.setLabel(shape.getProperty("name"));

    this.setBendpoints(sequenceFlowConnector, shape);

    return sequenceFlowConnector;
  }