code: public final static Observable<String> tailTextFile(File file, long startPosition,
              int chunkSize, Charset charset, Observable<?> events) {
          Preconditions.checkNotNull(file);
          Preconditions.checkNotNull(charset);
          Preconditions.checkNotNull(events);
          return toLines(events.lift(new OperatorFileTailer(file, startPosition, chunkSize))
                  .onBackpressureBuffer(), charset);
      }
docs: Returns an {@link Observable} of String that uses the given events stream
  to trigger checks on file change so that new lines can be read and
  emitted.
  
  @param file
  the file to tail, cannot be null
  @param startPosition
  start tailing file at position in bytes
  @param chunkSize
  max array size of each element emitted by the Observable. Is
  also used as the buffer size for reading from the file. Try
  {@link FileObservable#DEFAULT_MAX_BYTES_PER_EMISSION} if you
  don't know what to put here.
  @param charset
  the character set to use to decode the bytes to a string
  @param events
  trigger a check for file changes. Use
  {@link Observable#interval(long, TimeUnit)} for example.
  @return observable of strings