def add_start_event_to_diagram(self, process_id, start_event_name="<STR_LIT>", start_event_definition=None,<EOL>parallel_multiple=False, is_interrupting=True, node_id=None):
start_event_id, start_event = self.add_flow_node_to_diagram(process_id, consts.Consts.start_event,<EOL>start_event_name, node_id)<EOL>self.diagram_graph.node[start_event_id][consts.Consts.parallel_multiple] ="<STR_LIT:true>" if parallel_multiple else "<STR_LIT:false>"<EOL>self.diagram_graph.node[start_event_id][consts.Consts.is_interrupting] = "<STR_LIT:true>" if is_interrupting else "<STR_LIT:false>"<EOL>start_event_definitions = {"<STR_LIT:message>": "<STR_LIT>", "<STR_LIT>": "<STR_LIT>",<EOL>"<STR_LIT>": "<STR_LIT>", "<STR_LIT>": "<STR_LIT>",<EOL>"<STR_LIT>": "<STR_LIT>"}<EOL>event_def_list = []<EOL>if start_event_definition == "<STR_LIT:message>":<EOL><INDENT>event_def_list.append(BpmnDiagramGraph.add_event_definition_element("<STR_LIT:message>", start_event_definitions))<EOL><DEDENT>elif start_event_definition == "<STR_LIT>":<EOL><INDENT>event_def_list.append(BpmnDiagramGraph.add_event_definition_element("<STR_LIT>", start_event_definitions))<EOL><DEDENT>elif start_event_definition == "<STR_LIT>":<EOL><INDENT>event_def_list.append(BpmnDiagramGraph.add_event_definition_element("<STR_LIT>", start_event_definitions))<EOL><DEDENT>elif start_event_definition == "<STR_LIT>":<EOL><INDENT>event_def_list.append(BpmnDiagramGraph.add_event_definition_element("<STR_LIT>", start_event_definitions))<EOL><DEDENT>elif start_event_definition == "<STR_LIT>":<EOL><INDENT>event_def_list.append(BpmnDiagramGraph.add_event_definition_element("<STR_LIT>", start_event_definitions))<EOL><DEDENT>self.diagram_graph.node[start_event_id][consts.Consts.event_definitions] = event_def_list<EOL>return start_event_id, start_event<EOL>
Adds a StartEvent element to BPMN diagram.

User-defined attributes:

- name
- parallel_multiple
- is_interrupting
- event definition (creates a special type of start event). Supported event definitions -
    * 'message': 'messageEventDefinition', 
    * 'timer': 'timerEventDefinition', 
    * 'signal': 'signalEventDefinition',
    * 'conditional': 'conditionalEventDefinition', 
    * 'escalation': 'escalationEventDefinition'.

:param process_id: string object. ID of parent process,
:param start_event_name: string object. Name of start event,
:param start_event_definition: list of event definitions. By default - empty,
:param parallel_multiple: boolean value for attribute "parallelMultiple",
:param is_interrupting: boolean value for attribute "isInterrupting,
:param node_id: string object. ID of node. Default value - None.

:return: a tuple, where first value is startEvent ID, second a reference to created object.