code: def evaluator_creator(self, evaluator_type, acquisition, batch_size, model_type, model, space, acquisition_optimizer):
          
          acquisition_transformation = self.kwargs.get('acquisition_transformation','none')
  
          if batch_size == 1 or evaluator_type == 'sequential':
              return Sequential(acquisition)
  
          elif batch_size >1 and (evaluator_type == 'random' or evaluator_type is  None):
              return RandomBatch(acquisition, batch_size)
  
          elif batch_size >1 and evaluator_type == 'thompson_sampling':
              return ThompsonBatch(acquisition, batch_size)
  
          elif evaluator_type == 'local_penalization':
              if model_type not in ['GP', 'sparseGP', 'GP_MCMC', 'warpedGP']:
                  raise InvalidConfigError('local_penalization evaluator can only be used with GP models')
  
              if not isinstance(acquisition, AcquisitionLP):
                  acquisition_lp = AcquisitionLP(model, space, acquisition_optimizer, acquisition, acquisition_transformation)
              return LocalPenalization(acquisition_lp, batch_size)
docs: Acquisition chooser from the available options. Guide the optimization through sequential or parallel evalutions of the objective.