class_docstr: Process link references. 
class_docstr_tok: ["Process","link","references","."]
code: def run(self, parent: etree.Element, blocks: list[str]) -> bool:
      block = blocks.pop(0)
      m = self.RE.search(block)
      if m:
          id = m.group(1).strip().lower()
          link = m.group(2).lstrip("<").rstrip(">")
          title = m.group(5) or m.group(6)
          self.parser.md.references[id] = (link, title)
          if block[m.end() :].strip():
              # Add any content after match back to blocks as separate block
              blocks.insert(0, block[m.end() :].lstrip("\n"))
          if block[: m.start()].strip():
              # Add any content before match back to blocks as separate block
              blocks.insert(0, block[: m.start()].rstrip("\n"))
          return True
      # No match. Restore block.
      blocks.insert(0, block)
      return False
  
imports: from __future__ import annotations
  import logging
  import re
  import xml.etree.ElementTree
  from typing import TYPE_CHECKING, Any
  from .None import util
  from .blockparser import BlockParser
label_desc: Use image node_id 2 for calling the ReferenceProcessor obj's underlying member method code with example usage: obj.run(parent, blocks) and returns: False, True