if (staleClasses.isEmpty()) {
spec.setSource(new SimpleFileCollection());
return; //do nothing. No classes need recompilation.
}
PatternSet classesToDelete = new PatternSet();
PatternSet sourceToCompile = new PatternSet();
preparePatterns(staleClasses, classesToDelete, sourceToCompile);
//selectively configure the source
spec.setSource(spec.getSource().getAsFileTree().matching(sourceToCompile));