code: @NotNull
      public OptionalInt findFirst() {
          if (iterator.hasNext()) {
              return OptionalInt.of(iterator.nextInt());
          } else {
              return OptionalInt.empty();
          }
      }
docs: 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