src/main/java/io/reactivex/processors/BehaviorProcessor.java
@CheckReturnValue
    @NonNull
    public static <T> BehaviorProcessor<T> createDefault(T defaultValue) {
        ObjectHelper.requireNonNull(defaultValue, "defaultValue is null");
        return new BehaviorProcessor<T>(defaultValue);
    }
@CheckReturnValue
    @NonNull
    public static <T> BehaviorProcessor<T> createDefault(T defaultValue) {
        ObjectHelper.requireNonNull(defaultValue, "defaultValue is null");
        return new BehaviorProcessor<T>(defaultValue);
    }
Creates a {@link BehaviorProcessor} that emits the last item it observed and all subsequent items to each
{@link Subscriber} that subscribes to it.

@param <T>
the type of item the BehaviorProcessor will emit
@param defaultValue
the item that will be emitted first to any {@link Subscriber} as long as the
{@link BehaviorProcessor} has not yet observed any items from its source {@code Observable}
@return the constructed {@link BehaviorProcessor}