reactor-core/src/main/java/reactor/core/publisher/ReplayProcessor.java
public static <T> ReplayProcessor<T> cacheLastOrDefault(@Nullable T value) {
		ReplayProcessor<T> b = create(1);
		if (value != null) {
			b.onNext(value);
		}
		return b;
	}
public static <T> ReplayProcessor<T> cacheLastOrDefault(@Nullable T value) {
		ReplayProcessor<T> b = create(1);
		if (value != null) {
			b.onNext(value);
		}
		return b;
	}
Create a {@link ReplayProcessor} that caches the last element it has pushed,
replaying it to late subscribers. If a {@link Subscriber} comes in <b>before</b>
any value has been pushed, then the {@code defaultValue} is emitted instead.
This is a buffer-based ReplayProcessor with a history size of 1.
<p>
<img class="marble" src="https://raw.githubusercontent.com/reactor/reactor-core/v3.1.3.RELEASE/src/docs/marble/replaylastd.png"
alt="">

@param value a default value to start the sequence with in case nothing has been
cached yet.
@param <T> the type of the pushed elements

@return a new {@link ReplayProcessor} that replays its last pushed element to each new
{@link Subscriber}, or a default one if nothing was pushed yet