if (file.isDirectory()) directoryWorkList.add(file);
if (file.isDirectory()) { String myPath = bestEffortCanonicalPath(file); if (myPath.startsWith(basePath) && directoriesScanned.add(myPath)) directoryWorkList.add(file); }
	public RecursiveFileSearch search() throws InterruptedException {		directoryWorkList.add(new File(baseDir));		while (!directoryWorkList.isEmpty()) {			File dir = directoryWorkList.removeFirst();			if (!dir.isDirectory())				continue;			File[] contentList = dir.listFiles();			if (contentList == null) continue;			for (File aContentList : contentList) {				if (Thread.interrupted())					throw new InterruptedException();				File file = aContentList;				if (!fileFilter.accept(file))					continue;				if (file.isDirectory())					directoryWorkList.add(file);				else					resultList.add(file.getPath());			}		}		return this;	}