### Question:
DumpedFsReader implements FsReader { @Override public Optional<String> firstLineOf(File file, Predicate<String> predicate) { try (Stream<String> lines = Files.lines(file.toPath())) { return lines.filter(predicate).findFirst(); } catch (IOException e) { throw new RuntimeException(e); } }  @Override String readFully(File file); @Override List<String> readLines(File file); @Override Optional<String> firstLineOf(File file, Predicate<String> predicate);  }### Answer:
@Test void firstLineOf() { assertEquals(of(" k2: v2"), reader.firstLineOf(resourceFile(), s-> s.contains("k2"))); assertEquals(empty(), reader.firstLineOf(resourceFile(), s-> s.contains("eeee"))); }