code: def run(self, clf):
          rank = MPI.COMM_WORLD.Get_rank()
          if rank == 0:
              logger.info(
                  'running activity-based voxel selection via Searchlight'
              )
          self.sl.distribute([self.data], self.mask)
          self.sl.broadcast((self.labels, self.num_folds, clf))
          if rank == 0:
              logger.info(
                  'data preparation done'
              )
          result_volume = self.sl.run_searchlight(_sfn)
          result_list = result_volume[self.mask]
          results = []
          if rank == 0:
              for idx, value in enumerate(result_list):
                  if value is None:
                      value = 0
                  results.append((idx, value))
              results.sort(key=lambda tup: tup[1], reverse=True)
              logger.info(
                  'activity-based voxel selection via Searchlight is done'
              )
          return result_volume, results