def reorg_crawl_tasks(tasks, concurrency, logger=None):
futures = tasks['<STR_LIT>']<EOL>epilogue = tasks.get('<STR_LIT>')<EOL>custom_concurrency = tasks.get('<STR_LIT>', concurrency)<EOL>check_custom_concurrency(concurrency, custom_concurrency, logger)<EOL>futures = list(futures)<EOL>return futures, epilogue, concurrency<EOL>
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)