public Entry peek() {
    return currentEntry;
  }
Returns the next WAL entry in this stream but does not advance.
<p/>
Must call {@link #hasNext()} first before calling this method, and if you have already called
{@link #next()} to consume the current entry, you need to call {@link #hasNext()} again to
advance the stream before calling this method again, otherwise it will always return
{@code null}
<p/>
The reason here is that, we need to use the return value of {@link #hasNext()} to tell upper
layer to retry or not, so we can not wrap the {@link #hasNext()} call inside {@link #peek()} or
{@link #next()} as they have their own return value.
@see #hasNext()
@see #next()
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.java