'Transforms the given block_structure using the transform_block_filters
method from the given transformers.'

def _transform_with_filters(self, block_structure):

    if (not self._transformers['supports_filter']):
        return
    filters = []
    for transformer in self._transformers['supports_filter']:
        filters.extend(transformer.transform_block_filters(self.usage_info, block_structure))
    combined_filters = functools.reduce(self._filter_chain, filters, block_structure.create_universal_filter())
    block_structure.filter_topological_traversal(combined_filters)
