@SafeVarargs
    public final static Observable<WatchService> watchService(final File file,
            final Kind<?>... kinds) {
        return Observable.defer(new Func0<Observable<WatchService>>() {

            @Override
            public Observable<WatchService> call() {
                try {
                    final Path path = getBasePath(file);
                    WatchService watchService = path.getFileSystem().newWatchService();
                    path.register(watchService, kinds);
                    return Observable.just(watchService);
                } catch (Exception e) {
                    return Observable.error(e);
                }
            }
        });

    }
@SafeVarargs
    public final static Observable<WatchService> watchService(final File file,
            final Kind<?>... kinds) {
        return Observable.defer(new Func0<Observable<WatchService>>() {

            @Override
            public Observable<WatchService> call() {
                try {
                    final Path path = getBasePath(file);
                    WatchService watchService = path.getFileSystem().newWatchService();
                    path.register(watchService, kinds);
                    return Observable.just(watchService);
                } catch (Exception e) {
                    return Observable.error(e);
                }
            }
        });

    }
@ SafeVarargs public final static Observable < WatchService > watchService ( final File file , final Kind < ? > ... kinds ) { return Observable . defer ( new Func0 < Observable < WatchService > > ( ) { @ Override public Observable < WatchService > call ( ) { try { final Path path = getBasePath ( file ) ; WatchService watchService = path . getFileSystem ( ) . newWatchService ( ) ; path . register ( watchService , kinds ) ; return Observable . just ( watchService ) ; } catch ( Exception e ) { return Observable . error ( e ) ; } } } ) ; }
Creates a {@link WatchService} on subscribe for the given file and event
kinds.

@param file
the file to watch
@param kinds
event kinds to watch for
@return observable of watch events
Creates a { @link WatchService } on subscribe for the given file and event kinds .