@Override
            public void accept(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);
            }
@Override
            public void accept(int className)