private static boolean weAreSureThereAreNoUsages(@NotNull Project project,
                                                   @NotNull PsiFile containingFile,
                                                   @NotNull final PsiMember member,
                                                   @NotNull GlobalUsageHelper helper) {
    log("* " + member.getName() + ": call wearesure");
    if (!helper.shouldCheckUsages(member)) {
      log("* "+member.getName()+": should not check");
      return false;
    }

    final PsiFile ignoreFile = helper.isCurrentFileAlreadyChecked() ? containingFile : null;

    boolean sure = processUsages(project, containingFile, member, ignoreFile, info -> {
      PsiFile psiFile = info.getFile();
      if (psiFile == ignoreFile || psiFile == null) {
        return true; // ignore usages in containingFile because isLocallyUsed() method would have caught that
      }
      int offset = info.getNavigationOffset();
      if (offset == -1) return true;
      PsiElement element = psiFile.findElementAt(offset);
      boolean inComment = element instanceof PsiComment;
      log("*     "+member.getName()+": usage :"+element);
      return inComment; // ignore comments
    });
    log("*     "+member.getName()+": result:"+sure);
    return sure;
  }
private static boolean weAreSureThereAreNoUsages(@NotNull Project project,
                                                   @NotNull PsiFile containingFile,
                                                   @NotNull final PsiMember member,
                                                   @NotNull GlobalUsageHelper helper)