public static Model transform(Model model) {
        return ModelTransformer.create().mapShapes(model, shape -> {
            if (shape.isMemberShape()
                    && shape.hasTrait(RequiredTrait.ID)
                    && shape.hasTrait(IdempotencyTokenTrait.ID)
                    && !shape.hasTrait(ClientOptionalTrait.ID)) {
                return Shape.shapeToBuilder(shape).addTrait(new ClientOptionalTrait()).build();
            }
            return shape;
        });
    }
Makes {@code idempotencyToken} members {@code clientOptional}, so they can be injected if missing.
smithy-model/src/main/java/software/amazon/smithy/model/transform/MakeIdempotencyTokenClientOptional.java