docs: protected void addMissingProperties(Properties source, Map<String, String> target) {
          if (source == null || source.isEmpty() || target == null)
              return;
  
          // only add "new" properties (first value wins)
          for (String key : source.stringPropertyNames()) {
              if (!target.containsKey(key) && key.length() > 0) {
                  // Check for a System property override first.
                  String value = System.getProperty(key);
                  if (value == null) {
                      value = source.getProperty(key);
                  }
                  // store the value in the target map
                  target.put(key, value);
              }
          }
      }