void (int className) { Collection<String> currentPaths = myClassToRelativeSourceFilePath.get(className); if (currentPaths != null && !currentPaths.isEmpty()) { try { pathsBuffer.addAll(currentPaths); pathsBuffer.removeAll(changedRelativePaths); pathsBuffer.addAll(delta.myClassToRelativeSourceFilePath.get(className)); if (pathsBuffer.size() != currentPaths.size() || !pathsBuffer.containsAll(currentPaths)) { myClassToRelativeSourceFilePath.replace(className, pathsBuffer); } } finally { pathsBuffer.clear(); } } else { myClassToRelativeSourceFilePath.replace(className, delta.myClassToRelativeSourceFilePath.get(className)); } cleanupBackDependency(className, null, dependenciesTrashBin); }