def add_jump(self, begin_node=None, end_node=None, jump_function=None):
    "Adds a jump mapping one internal node to an external node, required input is begin_node (it's name)\n        end_node, and the edge function"
    jump_match = re.compile('jump_{0}_{1}'.format(begin_node, end_node))
    keys = list(self.__dict__.keys())
    iterator = 0
    for key in keys:
        if re.match(jump_match, key):
            iterator += 1
    jump_name = 'jump_{0}_{1}_{2:0>3d}'.format(begin_node, end_node, iterator)
    self.__dict__[jump_name] = jump_function
    self.jumps.append(jump_name)
    self.display_graph.add_edge(begin_node, end_node)
    self.display_layout = networkx.spring_layout(self.display_graph)
Adds a jump mapping one internal node to an external node, required input is begin_node (it's name)
end_node, and the edge function
def add_jump(self, begin_node=None, end_node=None, jump_function=None):
    "Adds a jump mapping one internal node to an external node, required input is begin_node (it's name)\n        end_node, and the edge function"
    jump_match = re.compile('jump_{0}_{1}'.format(begin_node, end_node))
    keys = list(self.__dict__.keys())
    iterator = 0
    for key in keys:
        if re.match(jump_match, key):
            iterator += 1
    jump_name = 'jump_{0}_{1}_{2:0>3d}'.format(begin_node, end_node, iterator)
    self.__dict__[jump_name] = jump_function
    self.jumps.append(jump_name)
    self.display_graph.add_edge(begin_node, end_node)
    self.display_layout = networkx.spring_layout(self.display_graph)