@staticmethod
def _prepare_requirements(requirements, requires_filters):
    """
        Overrides the filters specified in the decorator with the given ones

        :param requirements: Dictionary of requirements (field → Requirement)
        :param requires_filters: Content of the 'requires.filter' component
                                 property (field → string)
        :return: The new requirements
        """
    if not requires_filters or not isinstance(requires_filters, dict):
        return requirements
    new_requirements = {}
    for field, requirement in requirements.items():
        try:
            explicit_filter = requires_filters[field]
            requirement_copy = requirement.copy()
            requirement_copy.set_filter(explicit_filter)
            new_requirements[field] = requirement_copy
        except (KeyError, TypeError, ValueError):
            new_requirements[field] = requirement
    return new_requirements
