private static ObjectNode fixDeprecatedKeys(ObjectNode node) {
        ObjectNode mapped = node;

        // Remove deprecated "openapi." prefixes from configuration settings.
        for (Map.Entry<String, Node> entry : mapped.getStringMap().entrySet()) {
            if (DEPRECATED_PROPERTY_RENAMES.containsKey(entry.getKey())) {
                // Fixes specific renamed keys.
                String rename = DEPRECATED_PROPERTY_RENAMES.get(entry.getKey());
                LOGGER.warning("Deprecated `openapi` configuration setting found: " + entry.getKey()
                        + ". Use " + rename + " instead");
                mapped = mapped.withMember(rename, entry.getValue());
                mapped = mapped.withoutMember(entry.getKey());
            } else if (entry.getKey().startsWith("disable.")) {
                // These are now added into the "disableFeatures" property.
                String property = StringUtils.uncapitalize(entry.getKey().substring(8));
                throw new OpenApiException("Unsupported `openapi` configuration setting found: " + entry.getKey()
                        + ". Add `" + property + "` to the `disableFeatures` property instead");
            } else if (entry.getKey().startsWith("openapi.use.")) {
                throw new OpenApiException(String.format(
                        "The `%s` `openapi` plugin property is no longer supported. Use the "
                                + "`disableFeatures` property instead to disable features.",
                        entry.getKey()));
            }
        }

        return mapped;
    }
Creates an OpenApiConfig from a Node value.

<p>This method first converts deprecated keys into their new locations and
formats, and then uses the {@link NodeMapper} on the converted input
object. Note that this class can be deserialized using a NodeMapper too
since the NodeMapper will look for a static, public, fromNode method.

<p>This method also serializes unknown properties into the
"extensions" map so that they are accessible to OpenAPI mappers.

@param input Input to deserialize.
@return Returns the deserialized OpenApiConfig.
smithy-openapi/src/main/java/software/amazon/smithy/openapi/OpenApiConfig.java