class_docstr: Base class for all processors 
class_docstr_tok: ["Base","class","for","all","processors"]
docstr: If this has a variant with its own requirements, use those instead
  
  Returns True iff the _requires is set from the _variant
docstr_tok: ["If","this","has","a","variant","with","its","own","requirements",",","use","those","instead","Returns","True","iff","the","_requires","is","set","from","the","_variant"]
code: def _set_up_variant_requires(self):
      """
      If this has a variant with its own requirements, use those instead
  
      Returns True iff the _requires is set from the _variant
      """
      if not hasattr(self, "_variant"):
          return False
      if hasattr(self._variant, "_set_up_requires"):
          self._variant._set_up_requires()
          self._requires = self._variant._requires
          return True
      if hasattr(self._variant.__class__, "REQUIRES_DEFAULT"):
          self._requires = self._variant.__class__.REQUIRES_DEFAULT
          return True
      return False
  
imports: from abc import ABC, abstractmethod
  from stanza.models.common.doc import Document
  from stanza.pipeline.registry import NAME_TO_PROCESSOR_CLASS, PIPELINE_NAMES, PROCESSOR_VARIANTS
label_desc: Use image node_id 7 for calling the Processor obj's underlying member method code with example usage: obj._set_up_variant_requires() and returns: False, False, True, True