static String getYamlFromJavaModel() throws IOException {
        final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        final ProxyConfig proxyConfig = new ProxyConfig();

        // These list based props are empty by default, so that make it hard to see what the structure
        // of the list items is when looking at the generated yaml. Thus, we seed each one with a vanilla item.
        // This is not ideal as it means the generated yaml is not a true default, but hey ho?
        // This is also a bit of a hack adding items to lists. The lists ought to be immutable but
        // walking the whole tree to build it as you go is non-trivial.
        proxyConfig.getForwardHttpDestinations().add(new ForwardHttpPostConfig());
        proxyConfig.getForwardFileDestinations().add(new ForwardFileConfig());
        proxyConfig.getSqsConnectors().add(new SqsConnectorConfig());

        ProxyYamlUtil.writeConfig(proxyConfig, byteArrayOutputStream);
        return byteArrayOutputStream.toString();
    }
*** 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