code: @Override
      @SuppressWarnings("unchecked")
      public TemporalDataModelIF<Long, Long> run(final RUN_OPTIONS opts) throws RecommenderException {
          if (isAlreadyRecommended()) {
              return null;
          }
  
          File trainingFile = new File(getProperties().getProperty(RecommendationRunner.TRAINING_SET));
          File testFile = new File(getProperties().getProperty(RecommendationRunner.TEST_SET));
  
          try {
              Configuration confTraining = new Configuration();
              confTraining.set(Configured.CONF_DATA_INPUT_PATH, trainingFile.getAbsolutePath());
              confTraining.set(Configured.CONF_DATA_COLUMN_FORMAT, "UIR");
              confTraining.set("data.model.splitter", "ratio");
              confTraining.set("data.splitter.trainset.ratio", "0.999");
              confTraining.set("data.splitter.ratio", "rating");
              DataModel training = new TextDataModel(confTraining);
              training.buildDataModel();
  
              Configuration confTest = new Configuration();
              confTest.set(Configured.CONF_DATA_INPUT_PATH, testFile.getAbsolutePath());
              confTest.set(Configured.CONF_DATA_COLUMN_FORMAT, "UIR");
              confTest.set("data.model.splitter", "ratio");
              confTest.set("data.splitter.trainset.ratio", "0.999");
              confTest.set("data.splitter.ratio", "rating");
              DataModel test = new TextDataModel(confTest);
              test.buildDataModel();
  
              return runLibrecRecommender(opts, training, test);
          } catch (LibrecException e) {
              e.printStackTrace();
              throw new RecommenderException(e.getMessage());
          }
      }
docs: Runs the recommender.
  
  @param opts see
  {@link net.recommenders.rival.recommend.frameworks.AbstractRunner.RUN_OPTIONS}
  @return see
  {@link #run(net.recommenders.rival.recommend.frameworks.AbstractRunner.RUN_OPTIONS, net.recommenders.rival.core.TemporalDataModelIF, net.recommenders.rival.core.TemporalDataModelIF)}
  @throws RecommenderException when the recommender is instantiated
  incorrectly or breaks otherwise.