src/main/java/io/reactivex/subjects/ReplaySubject.java
@CheckReturnValue
    @NonNull
    public static <T> ReplaySubject<T> create() {
        return new ReplaySubject<T>(new UnboundedReplayBuffer<T>(16));
    }
@CheckReturnValue
    @NonNull
    public static <T> ReplaySubject<T> create() {
        return new ReplaySubject<T>(new UnboundedReplayBuffer<T>(16));
    }
@ CheckReturnValue @ NonNull public static < T > ReplaySubject < T > create ( ) { return new ReplaySubject < T > ( new UnboundedReplayBuffer < T > ( 16 ) ) ; }
Creates an unbounded replay subject.
<p>
The internal buffer is backed by an {@link ArrayList} and starts with an initial capacity of 16. Once the
number of items reaches this capacity, it will grow as necessary (usually by 50%). However, as the
number of items grows, this causes frequent array reallocation and copying, and may hurt performance
and latency. This can be avoided with the {@link #create(int)} overload which takes an initial capacity
parameter and can be tuned to reduce the array reallocation frequency as needed.

@param <T>
the type of items observed and emitted by the Subject
@return the created subject
Creates an unbounded replay subject . <p > The internal buffer is backed by an { @link ArrayList } and starts with an initial capacity of 16 . Once the number of items reaches this capacity it will grow as necessary ( usually by 50% ) . However as the number of items grows this causes frequent array reallocation and copying and may hurt performance and latency . This can be avoided with the { @link #create ( int ) } overload which takes an initial capacity parameter and can be tuned to reduce the array reallocation frequency as needed .