public static @Nullable Boolean processFilesContainingAllKeys(@NotNull Collection<? extends FileBasedIndex.AllKeysQuery<?, ?>> queries,
                                                                @NotNull GlobalSearchScope scope,
                                                                @NotNull Processor<? super VirtualFile> processor) {
    FileBasedIndex.AllKeysQuery<?, ?> query = ContainerUtil.getFirstItem(queries);
    if (query != null && query.getIndexId() == IdIndex.NAME && Registry.is("indexing.id.over.vfs")) {
      //noinspection unchecked
      FileBasedIndex.AllKeysQuery<IdIndexEntry, Integer> q = (FileBasedIndex.AllKeysQuery<IdIndexEntry, Integer>)query;
      return processFilesContainingAllKeys(IdIndex.NAME, q.getDataKeys(), scope, q.getValueChecker(), processor);
    }
    return null;
  }
public static @Nullable Boolean processFilesContainingAllKeys(@NotNull Collection<? extends FileBasedIndex.AllKeysQuery<?, ?>> queries,
                                                                @NotNull GlobalSearchScope scope,
                                                                @NotNull Processor<? super VirtualFile> processor)