private static List<File> recursiveGetAllJavaSources(File file, ArrayList<File> list) { if (file.isDirectory()) { for (File f : file.listFiles(fileFilter)) { recursiveGetAllJavaSources(f, list); } } else { list.add(file); } return list; }