@Nonnull
	public static CompletableFuture<?> runDelayed(long delayMs, @Nonnull Runnable action) {
		CompletableFuture<?> future = new CompletableFuture<>();
		scheduledService.schedule(() -> {
			try {
				action.run();
				future.complete(null);
			} catch (Throwable t) {
				future.completeExceptionally(t);
			}
		}, delayMs, TimeUnit.MILLISECONDS);
		return future;
	}
@param delayMs
		Delay to wait in milliseconds.
@param action
		Runnable to start in new thread.

@return Scheduled future.
recaf-core/src/main/java/software/coley/recaf/util/threading/ThreadUtil.java