code: protected String decodeAndUpdateWithVariables(String encodedPrefix,
        String encodedPostfix, Map<String, Map<String, String>> variables) {
      String[] prefixSplit;
      String[] postfixSplit;
      if (encodedPrefix != null && !encodedPrefix.isEmpty()) {
        prefixSplit = encodedPrefix.split(" ");
      } else {
        prefixSplit = new String[0];
      }
      if (encodedPostfix != null && !encodedPostfix.isEmpty()) {
        postfixSplit = encodedPostfix.split(" ");
      } else {
        postfixSplit = new String[0];
      }
      try {
        String prefix = decodeAndUpdateWithVariables(prefixSplit, variables);
        String postfix = decodeAndUpdateWithVariables(postfixSplit, variables);
        return prefix + MtasToken.DELIMITER + postfix;
      } catch (MtasParserException e) {
        log.debug(e);
        return null;
      }
    }
docs: Decode and update with variables.
  
  @param encodedPrefix the encoded prefix
  @param encodedPostfix the encoded postfix
  @param variables the variables
  @return the string