code: @NotNull
      public OptionalDouble findFirst() {
          if (iterator.hasNext()) {
              return OptionalDouble.of(iterator.nextDouble());
          }
          return OptionalDouble.empty();
      }
docs: Returns the first element wrapped by {@code OptionalDouble} class.
  If stream is empty, returns {@code OptionalDouble.empty()}.
  
  <p>This is a short-circuiting terminal operation.
  
  @return an {@code OptionalDouble} with first element
  or {@code OptionalDouble.empty()} if stream is empty