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);
    }
@ 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}
Creates a { @link BehaviorProcessor } that emits the last item it observed and all subsequent items to each { @link Subscriber } that subscribes to it .