code: def reorg_crawl_tasks(tasks, concurrency, logger=None):
      
      futures = tasks['tasks']
      epilogue = tasks.get('epilogue')
      custom_concurrency = tasks.get('max_concurrent_tasks', concurrency)
      check_custom_concurrency(concurrency, custom_concurrency, logger)
      futures = list(futures)
      return futures, epilogue, concurrency
docs: Extract content returned by the crawler `iter_crawl_tasks`
      member method.
  
      :return:
        tuple made of the sub-tasks to executed, the epilogue task to execute
        or `None` is none was specified by the crawler, and the proper
        tasks concurrency level.
      :rtype: tuple (sub-tasks, epilogue, concurrent)