class LineSequence implements Sequence<String> {
  private final BufferedReader reader;

  public LineSequence(final BufferedReader reader) {
    super();
    this.reader = reader;
  }

  @Override
  public Iterator<String> iterator() {
    return new Iterator<String>() {
      String line;
      boolean eof;

      @Override
      public String next() {
        if (this.eof) {
          throw new NoSuchElementException();
        }
        return this.line;
      }

      private void readLine() {
        try {
          this.line = LineSequence.this.reader.readLine();
        } catch (IOException e) {
          throw Reflector.sneakyThrow(e);
        }
      }

      @Override
      public boolean hasNext() {<FILL_FUNCTION_BODY>}

      @Override
      public void remove() {
        throw new UnsupportedOperationException();
      }

    };
  }

  @Override
  public Collector newCollector(final int size) {
    return new ListCollector(size, false);
  }

  @Override
  public int hintSize() {
    return 0;
  }
}

        if (this.eof) {
          return false;
        } else {
          readLine();
          this.eof = (this.line == null);
          return !this.eof;
        }
      
<no_super_class>