code: func (q *TransferQueue) Wait() {
  	close(q.incoming)
  
  	q.wait.Wait()
  	q.collectorWait.Wait()
  
  	q.finishAdapter()
  	close(q.errorc)
  
  	for _, watcher := range q.watchers {
  		close(watcher)
  	}
  
  	q.meter.Flush()
  	q.errorwait.Wait()
  
  	if q.unsupportedContentType {
  		for _, line := range contentTypeWarning {
  			fmt.Fprintf(os.Stderr, "info: %s\n", line)
  		}
  	}
  }
docs: // Wait waits for the queue to finish processing all transfers. Once Wait is
  // called, Add will no longer add transfers to the queue. Any failed
  // transfers will be automatically retried once.