@Override
    public boolean isReliable() {
      if (DumbService.isDumb(myProject)) return false;

      // a local scope may be over a non-indexed file
      if (myFindModel.getCustomScope() instanceof LocalSearchScope) return false;

      if (myHasTrigrams) return true;

      // $ is used to separate words when indexing plain-text files but not when indexing
      // Java identifiers, so we can't consistently break a string containing $ characters into words
      return myFindModel.isWholeWordsOnly() &&
             myStringToFindInIndices.indexOf('$') < 0 &&
             !StringUtil.getWordsIn(myStringToFindInIndices).isEmpty();
    }
@Override
    public boolean isReliable()