public Builder merge(SmithyBuildConfig config) {
            config.getOutputDirectory().ifPresent(this::outputDirectory);
            version(config.getVersion());
            sources.get().addAll(config.getSources());
            imports.get().addAll(config.getImports());
            projections.get().putAll(config.getProjections());
            plugins.get().putAll(config.getPlugins());

            if (config.getMaven().isPresent()) {
                if (maven == null) {
                    maven = config.maven;
                } else {
                    maven = maven.merge(config.maven);
                }
            }

            // If either one wants to ignore missing plugins, then ignore them.
            if (config.isIgnoreMissingPlugins()) {
                ignoreMissingPlugins(config.ignoreMissingPlugins);
            }

            return this;
        }
Updates this configuration with the configuration of another file.

@param config Config to update with.
@return Returns the builder.
smithy-build/src/main/java/software/amazon/smithy/build/model/SmithyBuildConfig.java