'Computes any information for each XBlock that\'s necessary to
execute this transformer\'s transform method.
Arguments:
block_structure (BlockStructureCollectedData)'

@classmethod
def collect(cls, block_structure):

    SplitTestTransformer.collect(block_structure)
    root_block = block_structure.get_xblock(block_structure.root_block_usage_key)
    user_partitions = get_all_partitions_for_course(root_block, active_only=True)
    block_structure.set_transformer_data(cls, 'user_partitions', user_partitions)
    if (not user_partitions):
        return
    for block_key in block_structure.topological_traversal():
        xblock = block_structure.get_xblock(block_key)
        parent_keys = block_structure.get_parents(block_key)
        merged_parent_access_list = [block_structure.get_transformer_block_field(parent_key, cls, 'merged_group_access') for parent_key in parent_keys]
        merged_group_access = _MergedGroupAccess(user_partitions, xblock, merged_parent_access_list)
        block_structure.set_transformer_block_field(block_key, cls, 'merged_group_access', merged_group_access)
