public void process() {
    //        MatrixLibrary libInfo = library.getLibrary();

    for (StabilityTestBase op : operations) {

      System.out.println(libraryName + " :  Processing op: " + op.getTestName());

      StabilityTrialResults results = evaluateOperation(op);

      // if a fatal error occurred create some results so that this is marked
      if (fatalError != null) {
        results = new StabilityTrialResults();
        logStream.println("Had fatal error: " + op.getTestName() + " error = " + fatalError);
        results.fatalError = fatalError;
      }
      // add environmental information for debugging later on
      results.durationMilli = tools.getDurationMilli();
      results.libraryName = libraryName;
      results.benchmarkName = op.getTestName();
      results.memoryBytes = slaveMemoryMegaBytes;

      // save the results to a file
      saveResults(results, op.getFileName());

      // print the results to the screen
      if (fatalError == null) printResults(results);
    }

    if (directorySave != null) {
      logStream.close();
    }
  }