protected T computeNext() {
    if (delegate.hasNext()) {
      return delegate.next();
    }
    return endOfData();
  }
adapted from guava's {@code com.google.common.collect.AbstractIterator}.
zipkin-storage/mysql-v1/src/main/java/zipkin2/storage/mysql/v1/PeekingIterator.java