@NotNull
    public OptionalInt findFirst() {
        if (iterator.hasNext()) {
            return OptionalInt.of(iterator.nextInt());
        } else {
            return OptionalInt.empty();
        }
    }
@ NotNull public OptionalInt findFirst ( ) { if ( iterator . hasNext ( ) ) { return OptionalInt . of ( iterator . nextInt ( ) ) ; } else { return OptionalInt . empty ( ) ; } }
Returns an {@link OptionalInt} describing the first element of this
stream, or an empty {@code OptionalInt} if the stream is empty.

<p>This is a short-circuiting terminal operation.

@return an {@code OptionalInt} describing the first element of this stream,
or an empty {@code OptionalInt} if the stream is empty