class_docstr: Context manager for setup/teardown tasks.
  
  :meta private:
code: def push_context_managed_teardown_task(
      cls, task: AbstractOperator | list[AbstractOperator]
  ):
      teardown_task = cls._context_managed_teardown_task
      if teardown_task and teardown_task != task:
          cls._previous_context_managed_teardown_task.append(
              cls._context_managed_teardown_task
          )
      cls._context_managed_teardown_task = task
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, cast
  from airflow.exceptions import AirflowException
label_desc: Use image node_id 2 for calling the BaseSetupTeardownContext obj's underlying member method code with example usage: obj.push_context_managed_teardown_task(cls, task) without return types