private Stream<ValidationEvent> validateShape(
            Model model,
            OperationIndex operationIndex,
            OperationShape operation
    ) {
        List<String> words = ValidationUtils.splitCamelCaseWord(operation.getId().getName());
        String verb = words.get(0).toLowerCase(Locale.US);

        // The presence of "verbsRequirePagination" immediately qualifies the operation as needing `paginated`.
        if (config.getVerbsRequirePagination().contains(verb)) {
            return Stream.of(danger(operation,
                    format(
                            "The verb of this operation, `%s`, requires that the operation is marked with the "
                                    + "`paginated` trait. %s",
                            verb,
                            DISCLAIMER)));
        }

        StructureShape input = operationIndex.expectInputShape(operation.getId());
        Optional<String> member = findMember(
                input.getAllMembers().keySet(),
                config.getInputMembersRequirePagination());
        if (member.isPresent()) {
            return Stream.of(danger(operation,
                    format(
                            "This operation contains an input member, `%s`, that requires that the operation is "
                                    + "marked with the `paginated` trait. %s",
                            member.get(),
                            DISCLAIMER)));
        }

        StructureShape output = operationIndex.expectOutputShape(operation.getId());
        return findMember(output.getAllMembers().keySet(), config.getOutputMembersRequirePagination())
                .map(outputMember -> Stream.of(danger(operation,
                        format(
                                "This operation contains an output member, `%s`, that requires that the "
                                        + "operation is marked with the `paginated` trait. %s",
                                outputMember,
                                DISCLAIMER))))
                .orElseGet(() -> suggestPagination(verb, operation, output, model));
    }
Sets the output member names that indicate the operation requires pagination.

@param outputMembersRequirePagination Output member names.
smithy-linters/src/main/java/software/amazon/smithy/linters/MissingPaginatedTraitValidator.java