def fill_graph_connections(process_dict, bpmn_diagram, sequence_flows):
nodes_ids = list(bpmn_diagram.diagram_graph.node.keys())<EOL>nodes_ids_to_process = copy.deepcopy(nodes_ids)<EOL>while bool(nodes_ids_to_process):<EOL><INDENT>node_id = str(nodes_ids_to_process.pop(<NUM_LIT:0>))<EOL>if is_node_the_end_event(node_id, process_dict):<EOL><INDENT>pass<EOL><DEDENT>elif is_there_sequence_continuation(node_id, nodes_ids):<EOL><INDENT>possible_sequence_successors = get_possible_sequence_continuation_successor(node_id)<EOL>successor_node_id = get_possible_successor_present_in_node_ids_or_raise_excp(possible_sequence_successors,<EOL>nodes_ids)<EOL>add_connection(node_id, successor_node_id, process_dict, bpmn_diagram, sequence_flows)<EOL><DEDENT>elif is_there_split_continuation(node_id, nodes_ids):<EOL><INDENT>split_gateway_id = add_split_gateway(node_id, nodes_ids, process_dict, bpmn_diagram)<EOL>add_connection(node_id, split_gateway_id, process_dict, bpmn_diagram, sequence_flows)<EOL>for successor_node_id in get_all_split_successors(node_id, nodes_ids):<EOL><INDENT>add_connection(split_gateway_id, successor_node_id, process_dict, bpmn_diagram, sequence_flows)<EOL><DEDENT>pass<EOL><DEDENT>elif is_there_merge_continuation(node_id, nodes_ids):<EOL><INDENT>possible_merge_successors = get_possible_merge_continuation_successors(node_id)<EOL>merge_successor_id = get_possible_successor_present_in_node_ids_or_raise_excp(possible_merge_successors,<EOL>nodes_ids)<EOL>merge_gateway_id, just_created = add_merge_gateway_if_not_exists(merge_successor_id, bpmn_diagram)<EOL>if just_created:<EOL><INDENT>add_connection(merge_gateway_id, merge_successor_id, process_dict, bpmn_diagram, sequence_flows)<EOL><DEDENT>add_connection(node_id, merge_gateway_id, process_dict, bpmn_diagram, sequence_flows)<EOL><DEDENT>else:<EOL><INDENT>raise bpmn_exception.BpmnPythonError("<STR_LIT>" + node_id)<EOL><DEDENT><DEDENT>
:param process_dict:
:param bpmn_diagram:
:param sequence_flows: