code: @Nonnull
      public String resolveExpression(@Nonnull String expression) {
          StringBuilder result = new StringBuilder(expression.length());
  
          int position = 0;
          while (position < expression.length()) {
              char c = expression.charAt(position);
              if (c == '#') {
                  int beginningSeparatorPosition = position;
                  int endingSeparatorPosition = expression.indexOf('#', beginningSeparatorPosition + 1);
                  if (endingSeparatorPosition == -1) {
                      throw new IllegalStateException("Invalid expression '" + expression + "', no ending '#' after beginning '#' at position " + beginningSeparatorPosition);
                  }
                  String key = expression.substring(beginningSeparatorPosition + 1, endingSeparatorPosition);
                  Function expressionProcessor = functionsByName.get(key);
                  String value;
                  if (expressionProcessor == null) {
                      value = "#unsupported_expression#";
                      logger.info("Unsupported expression '" + key + "'");
                  } else {
                      try {
                          value = expressionProcessor.evaluate();
                      } catch (Exception e) {
                          value = "#expression_error#";
                          logger.log(Level.WARNING, "Error evaluating expression '" + key + "'", e);
                      }
                  }
                  StringUtils2.appendEscapedNonAlphaNumericChars(value, false, result);
                  position = endingSeparatorPosition + 1;
  
              } else {
                  result.append(c);
                  position++;
              }
          }
          if (logger.isLoggable(Level.FINEST))
              logger.log(Level.FINEST, "resolveExpression(" + expression + "): " + result);
          return result.toString();
  
      }
docs: Replace all the '#' based keywords (e.g. <code>#hostname#</code>) by their value.
  
  @param expression the expression to resolve (e.g. <code>"servers.#hostname#."</code>)
  @return the resolved expression (e.g. <code>"servers.tomcat5"</code>)