@Override
  public Optional<ReadError> read(DbFileSources.Line.Builder lineBuilder) {
    ScannerReport.LineCoverage reportCoverage = getNextLineCoverageIfMatchLine(lineBuilder.getLine());
    if (reportCoverage != null) {
      processCoverage(lineBuilder, reportCoverage);
      coverage = null;
    }
    return Optional.empty();
  }
@Test
  public void nothing_to_do_when_no_coverage_info_for_current_line() {
    CoverageLineReader computeCoverageLine = new CoverageLineReader(newArrayList(
      ScannerReport.LineCoverage.newBuilder()
        .setLine(1)
        .setConditions(10)
        .setHits(true)
        .setCoveredConditions(2)
        .build()
    // No coverage info on line 2
    ).iterator());

    DbFileSources.Line.Builder line2Builder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(2);
    computeCoverageLine.read(line2Builder);

    assertThat(line2Builder.hasLineHits()).isFalse();
    assertThat(line2Builder.hasConditions()).isFalse();
    assertThat(line2Builder.hasCoveredConditions()).isFalse();
  }