void () { final Set<Pair<ClassFileRepr, File>> deleted = myDeletedClasses; if (deleted != null) { for (Pair<ClassFileRepr, File> pair : deleted) { final int deletedClassName = pair.first.name; final Iterable<File> sources = classToSourceFileGet(deletedClassName); if (sources == null || Iterators.isEmpty(sources)) { // if really deleted and not e.g. moved myChangedClasses.remove(deletedClassName); } } } for (Runnable pass = myPostPasses.poll(); pass != null; pass = myPostPasses.poll()) { pass.run(); } }