@NotNull
  private static Collection<? extends IndexableIteratorBuilder> getDependenciesIterators(@NotNull Project project,
                                                                                         @NotNull MyStatus before,
                                                                                         @NotNull MyStatus after) {

    List<IndexableIteratorBuilder> result = new ArrayList<>(
      RescannedRootsUtil.getUnexcludedRootsIteratorBuilders(project, before.libraries, before.excludePolicyDescriptors, after.libraries));

    MultiMap<AdditionalLibraryRootsProvider, SyntheticLibraryDescriptor> afterLibs = after.librariesToMap();
    MultiMap<AdditionalLibraryRootsProvider, SyntheticLibraryDescriptor> beforeLibs = before.librariesToMap();
    for (Map.Entry<AdditionalLibraryRootsProvider, Collection<SyntheticLibraryDescriptor>> entry : afterLibs.entrySet()) {
      result.addAll(RescannedRootsUtil.getLibraryIteratorBuilders(beforeLibs.get(entry.getKey()), entry.getValue()));
    }

    Map<IndexableSetContributor, IndexableSetContributorDescriptor> beforeContributors = before.contributorsToMap();
    for (IndexableSetContributorDescriptor contributorDescriptor : after.contributors) {
      result.addAll(RescannedRootsUtil.getIndexableSetIteratorBuilders(beforeContributors.get(contributorDescriptor.contributor),
                                                                       contributorDescriptor));
    }

    return result;
  }
@NotNull
  private static Collection<? extends IndexableIteratorBuilder> getDependenciesIterators(@NotNull Project project,
                                                                                         @NotNull MyStatus before,
                                                                                         @NotNull MyStatus after)