code: private String replaceVariablesInMacroStep(Matcher macroMatcher, String action) {
          for (Map.Entry<String, Integer> e : variableToGroupNumber.entrySet()) {
              action = action.replace(e.getKey(), "<$" + e.getValue() + ">");
          }
          return action;
      }
docs: replace the variables using regular expresson group syntax