'Handle a parent match
:param match:
:type match:
:param yield_parent:
:type yield_parent:
:return:
:rtype:'

def _match_parent(self, match, yield_parent):

    if ((len(match) < 0) or (match.value == '')):
        return False
    pattern_value = get_first_defined(self.values, [match.name, '__parent__', None], self._default_value)
    if pattern_value:
        match.value = pattern_value
    if (yield_parent or self.format_all):
        match.formatter = get_first_defined(self.formatters, [match.name, '__parent__', None], self._default_formatter)
    if (yield_parent or self.validate_all):
        validator = get_first_defined(self.validators, [match.name, '__parent__', None], self._default_validator)
        if (validator and (not validator(match))):
            return False
    return True
