'Performs a post-order sort of the block structure and yields
the usage_key of each block as it is encountered.
Arguments:
See the description in
openedx.core.lib.graph_traversals.traverse_post_order.
Returns:
generator - A generator object created from the
traverse_post_order method.'

def post_order_traversal(self, filter_func=None, start_node=None):

    return traverse_post_order(start_node=(start_node or self.root_block_usage_key), get_children=self.get_children, filter_func=filter_func)
