static void generateJsonSchema(final Path schemaFile) throws IOException {
        final ObjectMapper objectMapper = new ObjectMapper();
        final JsonSchemaGenerator jsonSchemaGenerator = new JsonSchemaGenerator(objectMapper);

        // If you want to configure it manually:
        // JsonSchemaConfig config = JsonSchemaConfig.create(...);
        // JsonSchemaGenerator generator = new JsonSchemaGenerator(objectMapper, config);

        final JsonNode jsonSchema = jsonSchemaGenerator.generateJsonSchema(ProxyConfig.class);
        objectMapper.enable(SerializationFeature.INDENT_OUTPUT);

        LOGGER.info("Writing schema file to {}", schemaFile.toAbsolutePath());
        objectMapper.writeValue(schemaFile.toFile(), jsonSchema);
    }
Builds a fresh config object tree with all the hard coded default values
and generates the yaml serialised form of it, saving the result to the
EXPECTED_YAML_FILE_NAME file so that it can be used in
{@link TestProxyYamlUtil#testGeneratedYamlAgainstExpected()}
<p>
NOTE: This main method is called from the stroom-app gradle build so if it
is moved you will need to refactor that too.
stroom-proxy/stroom-proxy-app/src/test/java/stroom/proxy/dist/GenerateProxyExpectedYaml.java