def add_sequence_flow_to_diagram(self, process_id, source_ref_id, target_ref_id, sequence_flow_name="<STR_LIT>"):
sequence_flow_id = BpmnDiagramGraph.id_prefix + str(uuid.uuid4())<EOL>self.sequence_flows[sequence_flow_id] = {consts.Consts.name: sequence_flow_name,<EOL>consts.Consts.source_ref: source_ref_id,<EOL>consts.Consts.target_ref: target_ref_id}<EOL>self.diagram_graph.add_edge(source_ref_id, target_ref_id)<EOL>flow = self.diagram_graph[source_ref_id][target_ref_id]<EOL>flow[consts.Consts.id] = sequence_flow_id<EOL>flow[consts.Consts.name] = sequence_flow_name<EOL>flow[consts.Consts.process] = process_id<EOL>flow[consts.Consts.source_ref] = source_ref_id<EOL>flow[consts.Consts.target_ref] = target_ref_id<EOL>source_node = self.diagram_graph.node[source_ref_id]<EOL>target_node = self.diagram_graph.node[target_ref_id]<EOL>flow[consts.Consts.waypoints] =[(source_node[consts.Consts.x], source_node[consts.Consts.y]),<EOL>(target_node[consts.Consts.x], target_node[consts.Consts.y])]<EOL>source_node[consts.Consts.outgoing_flow].append(sequence_flow_id)<EOL>target_node[consts.Consts.incoming_flow].append(sequence_flow_id)<EOL>return sequence_flow_id, flow<EOL>
Adds a SequenceFlow element to BPMN diagram.
Requires that user passes a sourceRef and targetRef as parameters.
User-defined attributes:

    - name

:param process_id: string object. ID of parent process,
:param source_ref_id: string object. ID of source node,
:param target_ref_id: string object. ID of target node,
:param sequence_flow_name: string object. Name of sequence flow.
:return: a tuple, where first value is sequenceFlow ID, second a reference to created object.