static double getOverallProgress(DaemonCodeAnalyzerStatus status) {
   long advancement = 0;
   long limit = 0;
   for (ProgressableTextEditorHighlightingPass ps : status.passStati) {
     advancement += ps.getProgressCount();
     limit += ps.getProgressLimit();
   }
   return limit == 0 ? status.errorAnalyzingFinished ? 1 : 0 : advancement * 1.0 / limit;
 }