'Traverse an AST, applying a set of fixers to each node.
This is a helper method for refactor_tree().
Args:
fixers: a list of fixer instances.
traversal: a generator that yields AST nodes.
Returns:
None'

def traverse_by(self, fixers, traversal):

    if (not fixers):
        return
    for node in traversal:
        for fixer in fixers[node.type]:
            results = fixer.match(node)
            if results:
                new = fixer.transform(node, results)
                if (new is not None):
                    node.replace(new)
                    node = new
