private Optional<ValidationEvent> validateName(
            String name,
            Shape targetShape,
            Shape context,
            List<Pattern> patterns,
            Model model
    ) {
        ShapeType type = targetShape.getType();
        if (type == ShapeType.TIMESTAMP || type == ShapeType.ENUM) {
            return Optional.empty();
        } else if (type == ShapeType.STRUCTURE || type == ShapeType.LIST) {
            if (this.onlyContainsTimestamps(targetShape, model)) {
                return Optional.empty();
            }
        }
        return patterns
                .stream()
                .filter(pattern -> pattern.matcher(name).matches())
                .map(matcher -> buildEvent(context, name, type))
                .findAny();
    }
Sets a list of additional regular expression patterns that indicate a
value carries a timestamp.

@param additionalPatterns Additional patterns to add.
smithy-linters/src/main/java/software/amazon/smithy/linters/ShouldHaveUsedTimestampValidator.java