class NvaDaemonConfiguration {

    public static NvaDaemonConfiguration parseConfig(Reader reader) throws ConfigurationException {
        Preconditions.checkNotNull(reader, "reader cannot be null");
        try {
            ObjectMapper mapper = new ObjectMapper()
                .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

            NvaDaemonConfiguration configuration =
                mapper.readValue(reader, NvaDaemonConfiguration.class);
            return configuration;
        } catch (IOException ioe) {
            throw new ConfigurationException("Error reading configuration", ioe);
        }
    }

    @JsonCreator public  NvaDaemonConfiguration(@JsonProperty("zookeeper")ZookeeperConfiguration zookeeperConfiguration,
                                  @JsonProperty("daemon")DaemonConfiguration daemonConfiguration);

}