public EndpointDefaults getEndpointDefaults(String endpoint) {
    if (config == null) {
      initConfig();
    }

    if (!defaults.containsKey(endpoint)) {
      synchronized (defaults) {
        EndpointConfig newEndpoint = config.addNewEndpoint();
        newEndpoint.setStringValue(endpoint);
        defaults.put(endpoint, new EndpointDefaults(newEndpoint));
      }
    }

    return defaults.get(endpoint);
  }