class ReplaySubject extends Subject<T> {

    @CheckReturnValue
    @NonNull
    public static <T> ReplaySubject<T> create() {
        return new ReplaySubject<T>(new UnboundedReplayBuffer<T>(16));
    }

    @SuppressWarnings("unchecked")  ReplaySubject(ReplayBuffer<T> buffer);

}