@Test
    void testGeneratedYamlAgainstExpected() throws IOException {
        final Path expectedFile = getExpectedYamlFilePath();
        final Path actualFile = getActualYamlFilePath();

        final String actual;
        try {
            actual = getYamlFromJavaModel();
        } catch (Exception e) {
            throw new RuntimeException("Error getting actual", e);
        }
        if (NullSafe.isBlankString(actual)) {
            throw new RuntimeException("Actual is blank");
        }

        // The expected file has already had the DW lines removed
        final List<String> actualLines = GenerateProxyExpectedYaml.removeDropWizardLines(actual);

        // write the actual out, so we can compare in other tools
        Files.write(actualFile, actualLines);

        final Consumer<List<String>> diffLinesConsumer = diffLines -> {
            LOGGER.error(
                    "\n  Differences exist between the expected serialised form of AppConfig and the actual. " +
                    "\n  If the difference is what you would expect based on the changes you have made to " +
                    "the config model " +
                    "\n  then run the main() method in GenerateExpectedYaml to re-generate the " +
                    "expected yaml\n{}",
                    String.join("\n", diffLines));

            LOGGER.info("\nvimdiff {} {}", expectedFile, actualFile);
        };

        final boolean haveDifferences = DiffUtil.unifiedDiff(
                expectedFile,
                actualFile,
                true,
                3,
                diffLinesConsumer);

        assertThat(haveDifferences)
                .withFailMessage("Expected and actual YAML do not match!")
                .isFalse();
    }
*** IMPORTANT ***
If the test fails it is because you have made changes to part of the
{@link stroom.util.shared.AbstractConfig} object model
and the resulting generated yaml is different to what it was before. If you are happy that
the change to the yaml matches what you expect then run {@link GenerateProxyExpectedYaml#main} to
re-generate the expected yaml file, then the test will pass. If you are not happy then re-think
your change to the object model.
*** IMPORTANT ***
stroom-proxy/stroom-proxy-app/src/test/java/stroom/proxy/dist/TestProxyYamlUtil.java