@Contract(pure = true)
	@NotNull
	public static <T> Promise<T> schedule(@NotNull Promise<T> promise, long timestamp) {
		MaterializedPromise<T> materializedPromise = promise.materialize();
		return Promise.ofCallback(cb ->
				getCurrentEventloop().schedule(timestamp, () -> materializedPromise.whenComplete(cb)));
	}
@ Contract ( pure = true ) @ NotNull public static < T > Promise < T > schedule ( @ NotNull Promise < T > promise , long timestamp ) { MaterializedPromise < T > materializedPromise = promise . materialize ( ) ; return Promise . ofCallback ( cb -> getCurrentEventloop ( ) . schedule ( timestamp , ( ) -> materializedPromise . whenComplete ( cb ) ) ) ; }
Schedules completion of the {@code Promise} so that it will
be completed after the timestamp even if its operations
were completed earlier.