def METHOD_NAME(self, rule):
    # The <sub .../> here is not the HTML subscript element <sub>...</sub>,
    # and therefore is invalid HTML.
    # so this code substitutes the whole sub element with contents of its idref prefixed by $
    # as occurrence of sub with idref implies that substitution of XCCDF values takes place
    variables = re.findall(r'<sub\s+idref="([^"]*)"\s*/>', rule.description)
    variables = set(variables)
    rule.substitutions = dict()
    for var in variables:
        val = self._get_var_value(var)
        rule.description = self._fix_var_sub_in_text(rule.description, var, val)
        rule.substitutions[var] = val