code: def add_configuration(self, config = None, config_info={}):
  		
  		
  		if config is None:
  			config, config_info = self.config_sampler(self.budgets[self.stage])
  		
  		if self.is_finished:
  			raise RuntimeError("This HPBandSter iteration is finished, you can't add more configurations!")
  
  		if self.actual_num_configs[self.stage] == self.num_configs[self.stage]:
  			raise RuntimeError("Can't add another configuration to stage %i in HPBandSter iteration %i."%(self.stage, self.HPB_iter))
  
  		config_id = (self.HPB_iter, self.stage, self.actual_num_configs[self.stage])
  
  		self.data[config_id] = Datum(config=config, config_info=config_info, budget = self.budgets[self.stage])
  
  		self.actual_num_configs[self.stage] += 1
  		
  		if not self.result_logger is None:
  		    self.result_logger.new_config(config_id, config, config_info)
  		
  		return(config_id)
docs: function to add a new configuration to the current iteration
  		
  		Parameters
  		----------
  		
  		config : valid configuration
  			The configuration to add. If None, a configuration is sampled from the config_sampler
  		config_info: dict
  			Some information about the configuration that will be stored in the results