<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_validation_plugin(name=None):
 """Find and load the chosen validation plugin. Args: name (string):
 the name of the entry_point, as advertised in the setup.py of the providing package. Returns: an uninstantiated subclass of ``bigchaindb.validation.AbstractValidationRules`` """

    if not name:
        return BaseValidationRules

    # TODO: This will return the first plugin with group `bigchaindb.validation`
    #       and name `name` in the active WorkingSet.
    #       We should probably support Requirements specs in the config, e.g.
    #       validation_plugin: 'my-plugin-package==0.0.1;default'
    plugin = None
    for entry_point in iter_entry_points('bigchaindb.validation', name):
        plugin = entry_point.load()

    # No matching entry_point found
    if not plugin:
        raise ResolutionError(
            'No plugin found in group `bigchaindb.validation` with name `{}`'.
            format(name))

    # Is this strictness desireable?
    # It will probably reduce developer headaches in the wild.
    if not issubclass(plugin, (BaseValidationRules,)):
        raise TypeError('object of type "{}" does not implement `bigchaindb.'
                        'validation.BaseValidationRules`'.format(type(plugin)))

    return plugin