@Override
  public boolean processVirtualFilesWithAllWords(@NotNull Collection<String> words,
                                                 short occurenceMask,
                                                 @NotNull GlobalSearchScope scope,
                                                 boolean caseSensitively,
                                                 @NotNull Processor<? super VirtualFile> processor) {
    if (myProject.isDefault()) {
      return true;
    }
    PsiSearchHelperImpl.TextIndexQuery query = PsiSearchHelperImpl.TextIndexQuery.fromWords(words, caseSensitively, false, occurenceMask);

    if (PsiSearchHelperImpl.LOG.isTraceEnabled()) {
      PsiSearchHelperImpl.LOG.trace("searching for words " + words + " in " + scope);
    }

    try {
      return FileBasedIndex.getInstance().processFilesContainingAllKeys(query.toFileBasedIndexQueries(), scope, processor);
    }
    catch (IndexNotReadyException e) {
      throw new ProcessCanceledException();
    }
  }
@Override
  public boolean processVirtualFilesWithAllWords(@NotNull Collection<String> words,
                                                 short occurenceMask,
                                                 @NotNull GlobalSearchScope scope,
                                                 boolean caseSensitively,
                                                 @NotNull Processor<? super VirtualFile> processor)