code: public boolean start(final FileDownloadListener listener, final boolean isSerial) {
  
          if (listener == null) {
              FileDownloadLog.w(this, "Tasks with the listener can't start, because the listener "
                      + "provided is null: [null, %B]", isSerial);
              return false;
          }
  
  
          return isSerial
                  ? getQueuesHandler().startQueueSerial(listener)
                  : getQueuesHandler().startQueueParallel(listener);
      }
docs: Start the download queue by the same listener.
  
  @param listener Used to assemble tasks which is bound by the same {@code listener}
  @param isSerial Whether start tasks one by one rather than parallel.
  @return {@code true} if start tasks successfully.