code: int add(DownloadRequest request) {
  		int downloadId = getDownloadId();
  		// Tag the request as belonging to this queue and add it to the set of current requests.
  		request.setDownloadRequestQueue(this);
  
  		synchronized (mCurrentRequests) {
  			mCurrentRequests.add(request);
  		}
  
  		// Process requests in the order they are added.
  		request.setDownloadId(downloadId);
  		mDownloadQueue.add(request);
  
  		return downloadId;
  	}
docs: Generates a download id for the request and adds the download request to the download request queue for the dispatchers pool to act on immediately.
  
  @param request
  @return downloadId