public static List<List<File>> findJavaFilesPerDirectory(File parent,String... dirNames){
  List<List<File>> filesPerDirectory=new ArrayList<>();
  for (  String dirName : dirNames) {
    File dir=new File(parent,dirName);
    if (dir.isDirectory()) {
      filesPerDirectory.addAll(findJavaTestFilesInDirectory(dir));
    }
  }
  return filesPerDirectory;
}

public static List < List < File > > findJavaFilesPerDirectory ( File parent , String ... dirNames ) { List < List < File > > filesPerDirectory = new ArrayList < > ( ) ; for ( String dirName : dirNames ) { File dir = new File ( parent , dirName ) ; if ( dir . isDirectory ( ) ) { filesPerDirectory . addAll ( findJavaTestFilesInDirectory ( dir ) ) ; } } return filesPerDirectory ; }
returns a list where each item is a list of java files , excluding any skip tests , for each directory given by dirname and also a list for any subdirectory .
