List<File> javaFiles = new ArrayList<File>();
FileSearcher fileSearcher = new CommonsIOFileSearcher();
javaFiles = fileSearcher.searchFilesRecursivelyByName(dirOrFile, RegExp.FileExtension.JavaFile);
for (File file : javaFiles) {
String encoding = UniversalDetectorUtil.getDetectedEncoding(file);
ClassMeta classMeta = extractor.extract(IOUtil.readAsString(
new FileInputStream(file), encoding));
if (!classMeta.name.matches(".*Test$") && !classMeta.isAbstract) {
dest.add(file);
}
}