docs: def run(self, verbose=True):
          """
          Run the analysis.
  
          Generate data from each provider, then check these data with every
          checker, and store the analysis results.
  
          Args:
              verbose (bool): whether to immediately print the results or not.
          """
          self.results.clear()
  
          for analysis_group in self.config.analysis_groups:
              if analysis_group.providers:
                  for provider in analysis_group.providers:
                      logger.info('Run provider %s', provider.identifier)
                      provider.run()
                      for checker in analysis_group.checkers:
                          result = self._get_checker_result(
                              analysis_group, checker, provider)
                          self.results.append(result)
                          analysis_group.results.append(result)
                          if verbose:
                              result.print()
              else:
                  for checker in analysis_group.checkers:
                      result = self._get_checker_result(
                          analysis_group, checker, nd='no-data-')
                      self.results.append(result)
                      analysis_group.results.append(result)
                      if verbose:
                          result.print()