def METHOD_NAME(self, paramname, paramvalue, default_value):
    matches = []
    if default_value is not None:
        path = ["Parameters", paramname, "Default"]
        allowed_pattern = paramvalue.get("AllowedPattern")
        if allowed_pattern:
            matches.extend(
                self.check_allowed_pattern(default_value, allowed_pattern, path)
            )
        min_value = paramvalue.get("MinValue")
        if min_value:
            matches.extend(self.check_min_value(default_value, min_value, path))
        max_value = paramvalue.get("MaxValue")
        if max_value is not None:
            matches.extend(self.check_max_value(default_value, max_value, path))
        allowed_values = paramvalue.get("AllowedValues")
        if allowed_values:
            matches.extend(
                self.check_allowed_values(default_value, allowed_values, path)
            )
        min_length = paramvalue.get("MinLength")
        if min_length is not None:
            matches.extend(self.check_min_length(default_value, min_length, path))
        max_length = paramvalue.get("MaxLength")
        if max_length is not None:
            matches.extend(self.check_max_length(default_value, max_length, path))
    return matches