code: public static <X> IteratorFromReaderFactory<X> getFactory(Function<String,X> op) {
      return new LineIteratorFactory<X>(op);
    }
docs: Returns a factory that vends LineIterators that read the contents of the
  given Reader, splitting on newlines.
  
  @param op A function to be applied to each line before it is returned
  @return An iterator over the lines of a file