@Override
public Indexed<E> tryNext() {
- if (currentReader.hasNext()) {
- previousEntry = currentReader.getCurrentEntry();
- return currentReader.next();
+ final var current = currentReader.getCurrentEntry();
+ final var next = currentReader.tryNext();
+ if (next != null) {
+ previousEntry = current;
+ return next;
}
final var nextSegment = journal.getNextSegment(currentSegment.index());
currentSegment = nextSegment;
currentReader = currentSegment.createReader();
- return currentReader.hasNext() ? currentReader.next() : null;
+ return currentReader.tryNext();
}
@Override