docs: def set_forced_variation(self, experiment_key, user_id, variation_key):
      """ Force a user into a variation for a given experiment.
  
      Args:
       experiment_key: A string key identifying the experiment.
       user_id: The user ID.
       variation_key: A string variation key that specifies the variation which the user.
       will be forced into. If null, then clear the existing experiment-to-variation mapping.
  
      Returns:
        A boolean value that indicates if the set completed successfully.
      """
  
      if not self.is_valid:
        self.logger.error(enums.Errors.INVALID_DATAFILE.format('set_forced_variation'))
        return False
  
      if not validator.is_non_empty_string(experiment_key):
        self.logger.error(enums.Errors.INVALID_INPUT_ERROR.format('experiment_key'))
        return False
  
      if not isinstance(user_id, string_types):
        self.logger.error(enums.Errors.INVALID_INPUT_ERROR.format('user_id'))
        return False
  
      return self.config.set_forced_variation(experiment_key, user_id, variation_key)