class_docstr: Logical object for tracking Hyperband bracket progress. Keeps track
  of proper parameters as designated by HyperBand.
  
  Also keeps track of progress to ensure good scheduling.
class_docstr_tok: ["Logical","object","for","tracking","Hyperband","bracket","progress",".","Keeps","track","of","proper","parameters","as","designated","by","HyperBand",".","Also","keeps","track","of","progress","to","ensure","good","scheduling","."]
docstr: Add trial to bracket assuming bracket is not filled.
  
  At a later iteration, a newly added trial will be given equal
  opportunity to catch up.
docstr_tok: ["Add","trial","to","bracket","assuming","bracket","is","not","filled",".","At","a","later","iteration",",","a","newly","added","trial","will","be","given","equal","opportunity","to","catch","up","."]
code: def add_trial(self, trial: Trial):
      """Add trial to bracket assuming bracket is not filled.
  
      At a later iteration, a newly added trial will be given equal
      opportunity to catch up."""
      assert not self.filled(), "Cannot add trial to filled bracket!"
      self._live_trials[trial] = None
      self._all_trials.append(trial)
  
imports: import collections
  from typing import Dict, List, Optional, Tuple, TYPE_CHECKING
  import numpy
  import logging
  from ray.util.annotations import PublicAPI
  from ray.tune.result import DEFAULT_METRIC
  from ray.tune.schedulers.trial_scheduler import FIFOScheduler, TrialScheduler
  from ray.tune.experiment import Trial
  from ray.tune.error import TuneError
label_desc: Use image node_id 2 for calling the _Bracket obj's underlying member method code with example usage: obj.add_trial(trial) without return types