code: public AnalysisResult createSafeAnalysisResult() {
          final Set<ComponentJob> unsafeKeys = getUnsafeResultElements().keySet();
          if (unsafeKeys.isEmpty()) {
              return _analysisResult;
          }
  
          final Map<ComponentJob, AnalyzerResult> resultMap = new LinkedHashMap<>(_analysisResult.getResultMap());
          for (final ComponentJob unsafeKey : unsafeKeys) {
              resultMap.remove(unsafeKey);
          }
  
          if (resultMap.isEmpty()) {
              return null;
          }
  
          return new SimpleAnalysisResult(resultMap, _analysisResult.getCreationDate());
      }
docs: Creates a safe {@link AnalysisResult} for saving
  
  @return a new {@link AnalysisResult} or null if it is not possible to
  create a result that is safer than the previous.