'Updates or creates the model for the given block_structure
and serialized_data.'

def _update_or_create_model(self, block_structure, serialized_data):

    if _is_storage_backing_enabled():
        root_block = block_structure[block_structure.root_block_usage_key]
        (bs_model, _) = BlockStructureModel.update_or_create(serialized_data, data_usage_key=block_structure.root_block_usage_key, **self._version_data_of_block(root_block))
        return bs_model
    else:
        return StubModel(block_structure.root_block_usage_key)
