/// <summary> /// Adds a concretion of ISimulatable to the repository of simulation models /// and adds the argument instance /// </summary> /// <param name="simulator">simulation model instance</param> /// <param name="args">The argument instance for the model</param> /// <returns>Gives the model back</returns> public override ISimulatable RegisterSimulator(ISimulatable simulator, ArgumentsBase args) { simulator.With(args); if (Simulators.Contains(simulator)) { _log.Error($"The Simulation model '{simulator.Name}' must not registered twice."); return(simulator); } Simulators.Add(simulator); return(simulator); }