boolean (@NotNull GlobalInspectionContextImpl context, @NotNull final InspectionToolWrapper toolWrapper) { InspectionToolPresentation presentation = context.getPresentation(toolWrapper); presentation.updateContent(); AnalysisScope scope = context.getCurrentScope(); if (scope == null) return false; final SearchScope searchScope = scope.toSearchScope(); if (searchScope instanceof LocalSearchScope) { final Map<String, Set<RefEntity>> contents = presentation.getContent(); final SynchronizedBidiMultiMap<RefEntity, CommonProblemDescriptor> problemElements = presentation.getProblemElements(); for (Set<RefEntity> entities : contents.values()) { for (Iterator<RefEntity> iterator = entities.iterator(); iterator.hasNext();) { RefEntity entity = iterator.next(); if (entity instanceof RefElement) { SmartPsiElementPointer pointer = ((RefElement)entity).getPointer(); if (pointer != null) { VirtualFile vFile = pointer.getVirtualFile(); if (vFile != null && searchScope.contains(vFile)) { final PsiElement element = ((RefElement)entity).getPsiElement(); if (element != null) { final TextRange range = element.getTextRange(); if (range != null && ((LocalSearchScope)searchScope).containsRange(element.getContainingFile(), range)) { continue; } } } } } problemElements.remove(entity); iterator.remove(); } } } return presentation.hasReportedProblems().toBoolean(); }