@Override
    public void setUseJsonName(boolean useJsonName) {
        // CloudFormation Resource Schemas use a separate strategy, via @cfnName,
        // for naming JSON Schema properties for structures and unions. Throw if
        // customers tried to set it at all.
        //
        // See CfnConverter::getPropertyNamingStrategy
        throw new CfnException(String.format("CloudFormation Resource Schemas use the `@cfnName` trait for "
                + "naming JSON Schema properties for structures and unions. `useJsonName` value of `%b` was provided.",
                useJsonName));
    }
Adds or replaces the JSON value in the generated resource schema
document at the given JSON pointer locations with a different JSON
value.

<p>The value must be a map where each key is a resource shape ID. The
value is a map where each key is a valid JSON pointer string as defined
in RFC 6901. Each value in the nested map is the JSON value to add or
replace at the given target.

<p>Values are added using similar semantics of the "add" operation
of JSON Patch, as specified in RFC 6902, with the exception that
adding properties to an undefined object will create nested
objects in the result as needed.

@param jsonAdd Map of JSON path to values to patch in.
smithy-aws-cloudformation/src/main/java/software/amazon/smithy/aws/cloudformation/schema/CfnConfig.java