docstr: Returns
  -------
  List[Tuple[int, float, float, float]]:
      A list with the performance history of this ensemble, of the form
      [(pandas_timestamp, train_performance, val_performance, test_performance)]
docstr_tok: ["Returns","--","--","--","-","List","[","Tuple","[","int",",","float",",","float",",","float","]","]",":","A","list","with","the","performance","history","of","this","ensemble",",","of","the","form","[","(","pandas_timestamp",",","train_performance",",","val_performance",",","test_performance",")","]"]
code: def __call__(
      self,
      smbo: "SMBO",
      run_info: RunInfo,
      result: RunValue,
      time_left: float,
  ) -> None:
      """
      Returns
      -------
      List[Tuple[int, float, float, float]]:
          A list with the performance history of this ensemble, of the form
          [(pandas_timestamp, train_performance, val_performance, test_performance)]
      """
      if (
          result.status in (StatusType.STOP, StatusType.ABORT)
          or smbo._stop
      ):
          return
      self.build_ensemble(smbo.tae_runner.client)
  
imports: from __future__ import annotations
  from typing import Any, Dict, Sequence, Type
  import logging.handlers
  import time
  import traceback
  import dask.distributed
  import numpy
  from sklearn.utils.validation import check_random_state
  from smac.callbacks import IncorporateRunResultCallback
  from smac.optimizer.smbo import SMBO
  from smac.runhistory.runhistory import RunInfo, RunValue
  from smac.tae.base import StatusType
  from autosklearn.automl_common.common.utils.backend import Backend
  from autosklearn.ensemble_building.builder import EnsembleBuilder
  from autosklearn.ensembles.abstract_ensemble import AbstractEnsemble
  from autosklearn.ensembles.ensemble_selection import EnsembleSelection
  from autosklearn.metrics import Scorer
  from autosklearn.util.logging_ import get_named_client_logger
label_desc: Use image node_id 2 for calling the EnsembleBuilderManager obj's underlying member method code with example usage: obj.__call__(smbo, run_info, result, time_left) without return types