docs: def _get_results(FetcherClass, services, kwargs, num_results=None, fast=0, verbose=False, timeout=None):
      """
      Does the fetching in multiple threads of needed. Used by paranoid and fast mode.
      """
      results = []
  
      if not num_results or fast:
          num_results = len(services)
  
      with futures.ThreadPoolExecutor(max_workers=len(services)) as executor:
          fetches = {}
          for service in services[:num_results]:
              tail = [x for x in services if x is not service]
              random.shuffle(tail)
              srv = FetcherClass(services=[service] + tail, verbose=verbose, timeout=timeout)
              fetches[executor.submit(srv.action, **kwargs)] = srv
  
          if fast == 1:
              raise NotImplementedError
              # ths code is a work in progress. futures.FIRST_COMPLETED works differently than I thought...
              to_iterate, still_going = futures.wait(fetches, return_when=futures.FIRST_COMPLETED)
              for x in still_going:
                  try:
                      x.result(timeout=1.001)
                  except futures._base.TimeoutError:
                      pass
  
          elif fast > 1:
              raise Exception("fast level greater than 1 not yet implemented")
          else:
              to_iterate = futures.as_completed(fetches)
  
          for future in to_iterate:
              service = fetches[future]
              results.append([service, future.result()])
  
      return results