Object createRunOrderParameters(RunOrderParameters runOrderParameters) {
   if (runOrderParameters == null) {
     return null;
   }
   // Can't use the constructor with the RunOrder parameter. Using it causes some integration tests
   // to fail.
   Class<?>[] arguments = {String.class, String.class};
   Constructor constructor = getConstructor(this.runOrderParameters, arguments);
   File runStatisticsFile = runOrderParameters.getRunStatisticsFile();
   return newInstance(
       constructor,
       RunOrder.asString(runOrderParameters.getRunOrder()),
       runStatisticsFile == null ? null : runStatisticsFile.getAbsolutePath());
 }
 Object createDirectoryScannerParameters(DirectoryScannerParameters directoryScannerParameters) {
   if (directoryScannerParameters == null) {
     return null;
   }
   // Can't use the constructor with the RunOrder parameter. Using it causes some integration tests
   // to fail.
   Class<?>[] arguments = {
     File.class, List.class, List.class, List.class, boolean.class, String.class
   };
   Constructor constructor = getConstructor(this.directoryScannerParameters, arguments);
   return newInstance(
       constructor,
       directoryScannerParameters.getTestClassesDirectory(),
       directoryScannerParameters.getIncludes(),
       directoryScannerParameters.getExcludes(),
       directoryScannerParameters.getSpecificTests(),
       directoryScannerParameters.isFailIfNoTests(),
       RunOrder.asString(directoryScannerParameters.getRunOrder()));
 }