class_docstr: Footnote Extension. 
class_docstr_tok: ["Footnote","Extension","."]
docstr: Return ElementTree Element that contains Footnote placeholder. 
docstr_tok: ["Return","ElementTree","Element","that","contains","Footnote","placeholder","."]
code: def findFootnotesPlaceholder(
      self, root: etree.Element
  ) -> tuple[etree.Element, etree.Element, bool] | None:
      """Return ElementTree Element that contains Footnote placeholder."""
  
      def finder(element):
          for child in element:
              if child.text:
                  if (
                      child.text.find(self.getConfig("PLACE_MARKER"))
                      > -1
                  ):
                      return child, element, True
              if child.tail:
                  if (
                      child.tail.find(self.getConfig("PLACE_MARKER"))
                      > -1
                  ):
                      return child, element, False
              child_res = finder(child)
              if child_res is not None:
                  return child_res
          return None
  
      res = finder(root)
      return res
  
imports: from __future__ import annotations
  from .None import Extension
  from ..blockprocessors import BlockProcessor
  from ..inlinepatterns import InlineProcessor
  from ..treeprocessors import Treeprocessor
  from ..postprocessors import Postprocessor
  from ..None import util
  from collections import OrderedDict
  import re
  import copy
  import xml.etree.ElementTree
label_desc: Use image node_id 5 for calling the FootnoteExtension obj's underlying member method code with example usage: obj.findFootnotesPlaceholder(root) and returns: res, None, child_res, child,  element,  True, child,  element,  False