def METHOD_NAME(
    self,
    run_msg: str,
    evaluator_server_config: EvaluatorServerConfig,
) -> RunContext:
    self.setPhaseName(run_msg, indeterminate=False)
    current_case = self._simulation_arguments["current_case"]
    try:
        ensemble = self._storage.get_ensemble_by_name(current_case)
        assert isinstance(ensemble, EnsembleAccessor)
    except KeyError:
        ensemble = self._storage.create_ensemble(
            self._experiment_id,
            name=current_case,
            ensemble_size=self._ert.getEnsembleSize(),
            iteration=self._simulation_arguments.get("item_num", 0),
        )
    self.set_env_key("_ERT_ENSEMBLE_ID", str(ensemble.id))
    prior_context = self._ert.ensemble_context(
        ensemble,
        self._simulation_arguments["active_realizations"],
        iteration=self._simulation_arguments.get("iter_num", 0),
    )
    if not prior_context.sim_fs.realizations_initialized(
        prior_context.active_realizations
    ):
        self.ert().sample_prior(
            prior_context.sim_fs,
            prior_context.active_realizations,
        )
    else:
        state_map = prior_context.sim_fs.state_map
        for realization_nr in prior_context.active_realizations:
            if state_map[realization_nr] in [
                RealizationState.UNDEFINED,
                RealizationState.LOAD_FAILURE,
            ]:
                state_map[realization_nr] = RealizationState.INITIALIZED
    self._evaluate_and_postprocess(prior_context, evaluator_server_config)
    self.setPhase(1, "Simulations completed.")
    return prior_context