code: public List<BaseDownloadTask> shutdown() {
          DownloadTask[] tasks = serialQueue.shutdown();
          List<BaseDownloadTask> notRunningTasks = new ArrayList<>();
          for (DownloadTask task : tasks) {
              final DownloadTaskAdapter notRunningTask =
                      FileDownloadUtils.findDownloadTaskAdapter(task);
              if (notRunningTask != null) {
                  notRunningTasks.add(notRunningTask);
                  FileDownloadList.getImpl().remove(notRunningTask);
              }
          }
          return notRunningTasks;
      }
docs: Attempts to stop the working task, halts the processing of waiting tasks, and returns a list
  of the tasks that were awaiting execution. These tasks are drained (removed) from the task
  queue upon return from this method.