def __get_best_matching_child(node, lineno):
    # This can be a one-liner with reversed
    # and next but way less readable...
    childs = getattr(node, 'body', [])
    result = next(iter(childs), None)
    result_lineno = __get_line(result)

    for child in childs[1:]:
        child_lineno = __get_line(child)

        if child_lineno > lineno:
            break
        elif child_lineno == lineno:
            return child
        elif child_lineno > result_lineno:
            result = child
            result_lineno = child_lineno

    return result
Yields a tuple of a line number and row for each row of the CSV data.
dataset/ETHPy150Open okcompute/vim-nose/python2/code_analyzer.py/__get_best_matching_child--crossover with--dataset/ETHPy150Open CollabQ/CollabQ/.google_appengine/google/appengine/ext/bulkload/__init__.py/BulkLoad.IterRows