code: @Override
      public TemporalDataModelIF<Long, Long> run(final RUN_OPTIONS opts) throws RecommenderException, TasteException, IOException {
          if (isAlreadyRecommended()) {
              return null;
          }
          DataModel trainingModel = new FileDataModel(new File(getProperties().getProperty(RecommendationRunner.TRAINING_SET)));
          DataModel testModel = new FileDataModel(new File(getProperties().getProperty(RecommendationRunner.TEST_SET)));
          return runMahoutRecommender(opts, trainingModel, testModel);
      }
docs: Runs the recommender using models from file.
  
  @param opts see
  {@link net.recommenders.rival.recommend.frameworks.AbstractRunner.RUN_OPTIONS}
  @return see
  {@link #runMahoutRecommender(net.recommenders.rival.recommend.frameworks.AbstractRunner.RUN_OPTIONS, org.apache.mahout.cf.taste.model.DataModel, org.apache.mahout.cf.taste.model.DataModel)}
  
  @throws RecommenderException when the recommender is instantiated
  incorrectly.
  @throws IOException when paths in property object are incorrect..
  @throws TasteException when the recommender is instantiated incorrectly
  or breaks otherwise.