default List<MavenLogEntry> readWhile(Predicate<MavenLogEntry> logEntryPredicate) {
    List<MavenLogEntry> result = new SmartList<>();
    MavenLogEntry next;
    while ((next = readLine()) != null) {
      if (logEntryPredicate.test(next)) {
        result.add(next);
      }
      else {
        pushBack();
        break;
      }
    }
    return result;
  }
default List<MavenLogEntry> readWhile(Predicate<MavenLogEntry> logEntryPredicate)