@Nullable
  public Pair<@NotNull Collection<? extends IndexableIteratorBuilder>, @NotNull StatusMark> getDeltaWithLastIndexedStatus() {
    if (!shouldBeUsed()) return null;
    MyStatus statusBefore;
    synchronized (LOCK) {
      statusBefore = lastIndexedStatus;
    }
    if (statusBefore == null) {
      //rootsChanged event happened before the first scanning was finished
      return null;
    }
    MyStatus statusAfter = getCurrentStatus();
    Collection<? extends IndexableIteratorBuilder> iterators = getDependenciesIterators(project, statusBefore, statusAfter);
    return new Pair<>(iterators, statusAfter);
  }
@Nullable
  public Pair<@NotNull Collection<? extends IndexableIteratorBuilder>, @NotNull StatusMark> getDeltaWithLastIndexedStatus()