class_docstr: In a preference Experiment (i.e. Metric values may either be zero for No and
  nonzero for Yes) do not transition until a minimum number of both Yes and No
  responses have been received.
class_docstr_tok: ["In","a","preference","Experiment","(","i.e",".","Metric","values","may","either","be","zero","for","No","and","nonzero","for","Yes",")","do","not","transition","until","a","minimum","number","of","both","Yes","and","No","responses","have","been","received","."]
code: def __init__(
      self,
      metric_name: str,
      threshold: int,
      transition_to: Optional[str] = None,
      block_gen_if_met: Optional[bool] = False,
  ) -> None:
      self.metric_name = metric_name
      self.threshold = threshold
      super().__init__(
          transition_to=transition_to,
          block_gen_if_met=block_gen_if_met,
      )
  
imports: from abc import abstractmethod
  from logging import Logger
  from typing import List, Optional, Set
  from ax.core.base_trial import TrialStatus
  from ax.core.experiment import Experiment
  from ax.exceptions.generation_strategy import MaxParallelismReachedException
  from ax.modelbridge.generation_strategy import DataRequiredError
  from ax.utils.common.base import SortableBase
  from ax.utils.common.logger import get_logger
  from ax.utils.common.serialization import SerializationMixin, serialize_init_args
label_desc: Use image node_id 1 to create a new MinimumPreferenceOccurances object from inherited base classes: TransitionCriterion with example: obj = MinimumPreferenceOccurances(metric_name, threshold, transition_to, block_gen_if_met)