@Override
  public int read() {
    if (nextChar == UNSET || nextChar >= buf.length) {
      fill();
      if (nextChar == UNSET) {
        return END_OF_STREAM;
      }
    }
    byte signedByte = buf[nextChar];
    nextChar++;
    return signedByte & 0xFF;
  }
@Test
  void read_from_ClosableIterator_with_several_empty_lines() throws IOException {
    assertThat(read(create("", "line2", "", "line4", "", "", "", "line8", "")))
      .isEqualTo('\n' + "line2" + '\n' + '\n' + "line4" + '\n' + '\n' + '\n' + '\n' + "line8" + '\n');
  }