public synchronized CompletableFuture<Void> ready() {
		if (ready == null) {
			ready = CompletableFuture
					.allOf((participants.toArray(new CompletableFuture[participants.size()])));
		}
		return ready;
	}
Obtain a future that completes when all participating futures have completed

Calling this method more than once will yield undefined results.

@return the "all of" future
Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncFence.java