@Override
    public ObjectNode updateNode(Context context, ResourceSchema resourceSchema, ObjectNode node) {
        Optional<ObjectNode> definitionsOptional = node.getObjectMember("definitions");

        // This replaces every entry in the "definitions" map and uses a
        // LinkedHashMap so that order is maintained, as entries will have
        // been sorted before we get to this mapper.
        Map<StringNode, Node> updatedNodes = new LinkedHashMap<>();
        if (definitionsOptional.isPresent()) {
            for (Map.Entry<StringNode, Node> entry : definitionsOptional.get().getMembers().entrySet()) {
                ObjectNode valueNode = entry.getValue().expectObjectNode();
                updatedNodes.put(entry.getKey(), addAdditionalProperties(valueNode));
            }
            node = node.withMember("definitions", Node.objectNode(updatedNodes));
        }
        return node;
    }
CloudFormation issues a warning in its build tooling every time it detects
an "object" type in the converted JSON Schema's definitions that doesn't set
"additionalProperties" to "false". This mapper sets that to reduce the
warnings customers receive when developing resources from automatically
generated resource schemas.

@see <a href="https://github.com/aws-cloudformation/cloudformation-cli/blob/8491ac54d12028a7e00295b39f102e3786e52ccf/src/rpdk/core/data_loaders.py#L286-L295">Warning in CFN CLI</a>
smithy-aws-cloudformation/src/main/java/software/amazon/smithy/aws/cloudformation/schema/fromsmithy/mappers/AdditionalPropertiesMapper.java