code: void addQueueTask(final DownloadTaskAdapter task) {
          if (task.isMarkedAdded2List()) {
              Util.w(TAG, "queue task: " + task + " has been marked");
              return;
          }
  
          synchronized (list) {
              task.markAdded2List();
              task.assembleDownloadTask();
              list.add(task);
              Util.d(TAG, "add list in all " + task + " " + list.size());
          }
      }
docs: This method generally used for enqueuing the task which will be assembled by a queue.
  
  @see BaseDownloadTask.InQueueTask#enqueue()