@SuppressWarnings("deprecation")
    public static String resolveActionDocumentation(OperationShape operation) {
        return operation.getTrait(IamActionTrait.class)
                .flatMap(IamActionTrait::getDocumentation)
                .orElseGet(() -> operation.getTrait(ActionPermissionDescriptionTrait.class)
                        .map(ActionPermissionDescriptionTrait::getValue)
                        .orElseGet(() -> operation.getTrait(DocumentationTrait.class)
                                .map(DocumentationTrait::getValue)
                                .orElse(null)));
    }
Resolves the IAM action documentation for the given operation. Uses the following
resolution order:

<ol>
    <li>Value of the {@code @iamAction} trait's {@code documentation} property</li>
    <li>Value of the {@code @actionPermissionDescription} trait</li>
    <li>Value of the {@code @documentation} trait</li>
</ol>

@param operation the operation to resolve documentation for.
@return The resolved action documentation.
smithy-aws-iam-traits/src/main/java/software/amazon/smithy/aws/iam/traits/IamActionTrait.java