private List<ValidationEvent> validateRequestChecksumConfiguration(
            Model model,
            HttpChecksumTrait trait,
            OperationShape operation,
            StructureShape input
    ) {
        List<ValidationEvent> events = new ArrayList<>();

        // Validate the requestAlgorithmMember is set properly for request behavior.
        validateAlgorithmMember(model, trait, operation, input).ifPresent(events::add);

        // Check for header binding conflicts with the input shape.
        events.addAll(validateHeaderConflicts(operation, input));

        return events;
    }
Validates the HttpChecksum trait.

<ul>
    <li>Validates that at least one of the request or response checksum
    behavior is configured.</li>
    <li>Validates that the {@code requestAlgorithmMember} and
    {@code requestChecksumModeMember} properties point to valid input members.</li>
    <li>Validates that the {@code requestAlgorithmMember} targeted member contains
    only supported algorithms.</li>
    <li>Validates that the {@code requestChecksumModeMember} targeted member contains
    only supported modes.</li>
    <li>Checks for conflicts with {@code @httpHeader} and {@code @httpPrefixHeaders}.</li>
</ul>
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/HttpChecksumTraitValidator.java