docs: public synchronized Optional<String> addConfiguration(String niceName, String description, Map<String, Object> config) {
  		try {
  			if (catalog==null) {
  				throw new FileNotFoundException();
  			}
  			return sync(()-> {
  				ConfigurationDetails p = new ConfigurationDetails.Builder(inventory.nextIdentifier())
  						.niceName(niceName)
  						.description(description).build();
  				try {
  					InventoryEntry ret = InventoryEntry.create(new Configuration(p, new HashMap<>(config)), newConfigurationFile());
  					inventory.add(ret);
  					return Optional.of(ret.getIdentifier());
  				} catch (IOException e) {
  					logger.log(Level.WARNING, "Failed to add configuration.", e);
  					return Optional.empty();
  				}
  			});
  		} catch (IOException e) {
  			logger.log(Level.WARNING, "Could not add configuration", e);
  			return Optional.empty();
  		}
  	}