docs: public static String resolveProperty(Properties props, String original) {
      Matcher matcher = PROPERTY_TEMPLATE.matcher(original);
      StringBuilder buffer = new StringBuilder();
      boolean found = false;
      while(matcher.find()) {
        found = true;
        String propertyName = matcher.group(2).trim();
        buffer.append(matcher.group(1))
          .append(props.containsKey(propertyName) ? props.getProperty(propertyName) : "")
          .append(matcher.group(3));
      }
      return found ? buffer.toString() : original;
    }