docs: public static Object getInjectValue(String string) {
          Matcher m = pattern.matcher(string);
          StringBuffer sb = new StringBuffer();
          // Parse the content inside pattern "${}" when this pattern is found
          while (m.find()) {
              // Get parsing result
              Object value = getValue(m.group(1));
              // Return directly when the parsing result don't need to be casted to String
              if (!(value instanceof String)) {
                  return value;
              }
              m.appendReplacement(sb, (String) value);
          }
          return m.appendTail(sb).toString();
      }