/**
   * Inits a new experiment run from a given model and experiment runner class: model and experiment
   * runner are initialized. Parameter tables are connected to model parameter and experiment
   * setting access points.
   */
  void initNewExperimentRun() {

    try {
      if (expRunnerClass != null && modelClass != null) {

        model = (Model) modelClass.newInstance();
        if (this.modelConstants != null) {
          model
              .getParameterManager()
              .initializeModelParameter(String[].class, "cmdparam", this.modelConstants);
        }
        expRunner = (ExperimentRunner) expRunnerClass.newInstance();
        expRunner.setModel(model);

        expAccessPoints = new AccessPointTableModel(expRunner.getExperimentSettings());
        modelAccessPoints = new AccessPointTableModel(expRunner.getModelParameters());
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }