private void mutateNodes(final JsonNode rootNode,
                             final String jsonPointerExpr,
                             final List<String> names,
                             final Function<String, String> valueMutator) {
        final JsonNode parentNode = rootNode.at(jsonPointerExpr);
        if (parentNode.isMissingNode()) {
            LOGGER.warn("jsonPointerExpr {}, not found in yaml", jsonPointerExpr);
        } else {
            mutateNodes(parentNode, names, valueMutator, jsonPointerExpr);
        }
    }
Merge our compile time defaults with the de-serialised config so we have a full tree
stroom-config/stroom-config-app/src/main/java/stroom/config/app/StroomConfigurationSourceProvider.java