'Get the possible (networkx) simple paths between two nodes or addresses
corresponding to nodes.
Input: addresses or node instances
Return: a list of lists of nodes representing paths.'

def _get_nx_paths(self, begin, end):

    if (isinstance(begin, (int, long)) and isinstance(end, (int, long))):
        n_begin = self.get_any_node(begin)
        n_end = self.get_any_node(end)
    elif (isinstance(begin, CFGNode) and isinstance(end, CFGNode)):
        n_begin = begin
        n_end = end
    else:
        raise AngrCFGError('from    and    to    should    be    of    the    same    type')
    self.remove_fakerets()
    return networkx.all_shortest_paths(self.graph, n_begin, n_end)
