@Override
  public boolean hasNext() {
    advance();
    return next != null;
  }
Adapts a {@link Supplier} that returns {@code null} when no items are left to an {@link Iterator} where
{@link #hasNext()} returns {@code false} when there are no items left.
planetiler-core/src/main/java/com/onthegomap/planetiler/collection/SupplierIterator.java