private static boolean isTagPropertyInShape(
            String tagPropertyName,
            Shape shape,
            PropertyBindingIndex propertyBindingIndex
    ) {
        for (MemberShape member : shape.members()) {
            Optional<String> propertyName = propertyBindingIndex.getPropertyName(member.getId());
            if (propertyName.isPresent() && propertyName.get().equals(tagPropertyName)) {
                return true;
            }
        }
        return false;
    }
Returns true if and only if a provided shape meets criteria that appears to
represent a list or map of tag key value pairs.

@param model Model to retrieve target shapes from when examining
             targets.
@param tagShape shape to examine if it appears to be tags.
@return true if and only if shape meets the criteria for being a TagList
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/tagging/TaggingShapeUtils.java