Icon constructIcon(@NotNull InspectionProfileImpl inspectionProfile) {
      final Map<String, HighlightSeverity> computedSeverities = computeSeverities();

      if (computedSeverities == null) {
        return null;
      }

      boolean allScopesHasMixedSeverity = true;
      boolean allErrors = true;
      boolean hasError = false;
      for (HighlightSeverity severity : computedSeverities.values()) {
        allScopesHasMixedSeverity = allScopesHasMixedSeverity && severity.equals(ScopesAndSeveritiesTable.MIXED_FAKE_SEVERITY);
        hasError = hasError || severity.equals(HighlightSeverity.ERROR);
        allErrors = allErrors && severity.equals(HighlightSeverity.ERROR);
      }

      if (allScopesHasMixedSeverity) {
        return ScopesAndSeveritiesTable.MIXED_FAKE_LEVEL.getIcon();
      }

      if (computedSeverities.size() == 1) {
        HighlightSeverity severity = computedSeverities.values().iterator().next();
        return HighlightDisplayLevel.find(severity).getIcon();
      }
      else {
        return allErrors ? HighlightDisplayLevel.ERROR.getIcon() :
               hasError ? AllIcons.General.InspectionsMixed:
               HighlightDisplayLevel.WARNING.getIcon();
      }
    }
Icon constructIcon(@NotNull InspectionProfileImpl inspectionProfile)