class_docstr: Domain for citations.
class_docstr_tok: ["Domain","for","citations","."]
code: def merge_domaindata(
      self, docnames: list[str], otherdata: dict[str, Any]
  ) -> None:
      # XXX duplicates?
      for key, data in otherdata["citations"].items():
          if data[0] in docnames:
              self.citations[key] = data
      for key, data in otherdata["citation_refs"].items():
          citation_refs = self.citation_refs.setdefault(key, set())
          for docname in data:
              if docname in docnames:
                  citation_refs.add(docname)
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, cast
  from docutils import nodes
  from sphinx.addnodes import pending_xref
  from sphinx.domains import Domain
  from sphinx.locale import __
  from sphinx.transforms import SphinxTransform
  from sphinx.util import logging
  from sphinx.util.nodes import copy_source_info, make_refnode
label_desc: Use image node_id 4 for calling the CitationDomain obj's underlying member method code with example usage: obj.merge_domaindata(docnames, otherdata) without return types