code: public Mono<Response<ConfigurationSetting>> addSetting(ConfigurationSetting setting) {
          // Validate that setting and key is not null. The key is used in the service URL so it cannot be null.
          validateSetting(setting);
  
          // This service method call is similar to setSetting except we're passing If-Not-Match = "*". If the service
          // finds any existing configuration settings, then its e-tag will match and the service will return an error.
          return service.setKey(serviceEndpoint, setting.key(), setting.label(), setting, null, getETagValue(ETAG_ANY));
      }
docs: Adds a configuration value in the service if that key and label does not exist. The label value of the
  ConfigurationSetting is optional.
  
  @param setting The setting to add to the configuration service.
  @return The {@link ConfigurationSetting} that was created, or {@code null}, if a key collision occurs or the key
  is an invalid value (which will also throw ServiceRequestException described below).
  @throws NullPointerException If {@code setting} is {@code null}.
  @throws IllegalArgumentException If {@link ConfigurationSetting#key() key} is {@code null}.
  @throws ServiceRequestException If a ConfigurationSetting with the same key and label exists. Or,
  {@link ConfigurationSetting#key() key} is an empty string.