code: func (b *Buffer) Close() {
  	b.init()
  
  	close(b.workC)
  	<-b.tasksFinishedC
  	b.Runner.Close()
  }
docs: // Close flushes the remaining tasks in the Buffer and Closes the underlying
  // Runner.
  //
  // Adding new tasks to the Buffer after Close has been invoked will cause a
  // panic.