@Override
        public void visitElement(@NotNull PsiElement element) {
          if (!myRestrictRange.contains(element.getTextRange())) {
            // We are analyzing element `suppressionElement1` which has attached suppression `suppression1` for inspection `tool1`.
            // E.g. for `@SuppressWarnings("rawtypes") int parameter1`,
            //      suppression1 = @SuppressWarnings("rawtypes"),
            //      suppressionElement1 = PsiParameter("parameter1"),
            //      tool1 = RawUseOfParameterizedTypeInspection (its shortName="rawtypes")
            // The contract is:
            //  the inspection tool `tool1` must be run for all elements inside element `suppressionElement1`,
            //  because some of these elements might have generated the warning, which suppression we are analyzing.
            // If the inspection `tool1` hasn't run for all these elements,
            // we have no enough information to decide whether `suppression1` is redundant or not
            return;
          }
          super.visitElement(element);
          HashMap<PsiElement, Collection<String>> scopes = new HashMap<>();
          boolean suppressAll = collectSuppressions(element, scopes, IGNORE_ALL, mySuppressor);
          if (suppressAll) {
            return;
          }
          Collection<String> suppressIds = scopes.get(element);
          if (suppressIds != null) {
            for (String suppressId : suppressIds) {
              if (myActiveTools.contains(suppressId) &&
                  !isSuppressedFor(element, suppressId, myToolToSuppressScopes.get(suppressId)) &&
                  //suppression in local pass is intentionally disabled to pass ALL
                  !SuppressionUtil.inspectionResultSuppressed(element, LocalRedundantSuppressionInspection.this)) {
                TextRange highlightingRange = mySuppressor.getHighlightingRange(element, suppressId);
                if (highlightingRange != null) {
                  holder.registerProblem(element, highlightingRange,
                                         InspectionsBundle.message("inspection.redundant.suppression.description"),
                                         mySuppressor.createRemoveRedundantSuppressionFix(suppressId));
                }
              }
            }
          }
        }
@Override
        public void visitElement(@NotNull PsiElement element)