code: def _process_css_text(self, css_text, index, rules, head):
          
          these_rules, these_leftover = self._parse_style_rules(css_text, index)
          rules.extend(these_rules)
          if head is not None and (these_leftover or self.keep_style_tags):
              style = etree.Element("style")
              style.attrib["type"] = "text/css"
              if self.keep_style_tags:
                  style.text = css_text
              else:
                  style.text = self._css_rules_to_string(these_leftover)
              head.append(style)
docs: processes the given css_text by adding rules that can be
          in-lined to the given rules list and adding any that cannot
          be in-lined to the given `<head>` element.