code: public synchronized TypedProperties putIfAbsent(String key, String value) {
        if (getProperty(key) == null) {
           put(key, value);
        }
        return this;
     }
docs: Put a value if the associated key is not present
  @param key new key
  @param value new value
  @return this TypedProperties instance for method chaining