public ConcurrentQ<I, R> build(QCallback<I, R> callback) {

		ConcurrentQ<I, R> concurrentQ = new ConcurrentQ<>(callback, getQueue(), getThreadPool(),
			listener, collectResults, maxInProgress, jobsReportProgress);

		if (monitor != null) {
			concurrentQ.setMonitor(monitor, cancelClearsAllJobs);
		}
		return concurrentQ;
	}
Builds the final {@link ConcurrentQ}.

@param callback the callback for processing each job
@return the new queue
Ghidra/Framework/Generic/src/main/java/generic/concurrent/ConcurrentQBuilder.java