public final static Observable<WatchEvent<?>> from(WatchService watchService,
            Scheduler scheduler, long pollDuration, TimeUnit pollDurationUnit, long pollInterval,
            TimeUnit pollIntervalUnit, BackpressureStrategy backpressureStrategy) {
        Preconditions.checkNotNull(watchService);
        Preconditions.checkNotNull(scheduler);
        Preconditions.checkNotNull(pollDurationUnit);
        Preconditions.checkNotNull(backpressureStrategy);
        Observable<WatchEvent<?>> o = Observable
                .create(new OnSubscribeWatchServiceEvents(watchService, scheduler, pollDuration,
                        pollDurationUnit, pollInterval, pollIntervalUnit));
        if (backpressureStrategy == BackpressureStrategy.BUFFER) {
            return o.onBackpressureBuffer();
        } else if (backpressureStrategy == BackpressureStrategy.DROP)
            return o.onBackpressureDrop();
        else if (backpressureStrategy == BackpressureStrategy.LATEST)
            return o.onBackpressureLatest();
        else
            throw new RuntimeException("unrecognized backpressureStrategy " + backpressureStrategy);
    }
public final static Observable<WatchEvent<?>> from(WatchService watchService,
            Scheduler scheduler, long pollDuration, TimeUnit pollDurationUnit, long pollInterval,
            TimeUnit pollIntervalUnit, BackpressureStrategy backpressureStrategy) {
        Preconditions.checkNotNull(watchService);
        Preconditions.checkNotNull(scheduler);
        Preconditions.checkNotNull(pollDurationUnit);
        Preconditions.checkNotNull(backpressureStrategy);
        Observable<WatchEvent<?>> o = Observable
                .create(new OnSubscribeWatchServiceEvents(watchService, scheduler, pollDuration,
                        pollDurationUnit, pollInterval, pollIntervalUnit));
        if (backpressureStrategy == BackpressureStrategy.BUFFER) {
            return o.onBackpressureBuffer();
        } else if (backpressureStrategy == BackpressureStrategy.DROP)
            return o.onBackpressureDrop();
        else if (backpressureStrategy == BackpressureStrategy.LATEST)
            return o.onBackpressureLatest();
        else
            throw new RuntimeException("unrecognized backpressureStrategy " + backpressureStrategy);
    }
public final static Observable < WatchEvent < ? > > from ( WatchService watchService , Scheduler scheduler , long pollDuration , TimeUnit pollDurationUnit , long pollInterval , TimeUnit pollIntervalUnit , BackpressureStrategy backpressureStrategy ) { Preconditions . checkNotNull ( watchService ) ; Preconditions . checkNotNull ( scheduler ) ; Preconditions . checkNotNull ( pollDurationUnit ) ; Preconditions . checkNotNull ( backpressureStrategy ) ; Observable < WatchEvent < ? > > o = Observable . create ( new OnSubscribeWatchServiceEvents ( watchService , scheduler , pollDuration , pollDurationUnit , pollInterval , pollIntervalUnit ) ) ; if ( backpressureStrategy == BackpressureStrategy . BUFFER ) { return o . onBackpressureBuffer ( ) ; } else if ( backpressureStrategy == BackpressureStrategy . DROP ) return o . onBackpressureDrop ( ) ; else if ( backpressureStrategy == BackpressureStrategy . LATEST ) return o . onBackpressureLatest ( ) ; else throw new RuntimeException ( "unrecognized backpressureStrategy " + backpressureStrategy ) ; }
Returns an {@link Observable} of {@link WatchEvent}s from a
{@link WatchService}.

@param watchService
WatchService to generate events from
@param scheduler
schedules polls of the watchService
@param pollDuration
duration of each poll
@param pollDurationUnit
time unit for the duration of each poll
@param pollInterval
interval between polls of the watchService
@param pollIntervalUnit
time unit for the interval between polls
@param backpressureStrategy
backpressures strategy to apply
@return an observable of WatchEvents from watchService
Returns an { @link Observable } of { @link WatchEvent } s from a { @link WatchService } .