docs: public static <E> Optional<E> last(final Iterable<E> iterable) {
          checkNotNull(iterable, "last requires a non null iterable");
          final Iterator<E> iterator = iterable.iterator();
          if (!iterator.hasNext()) {
              return Optional.empty();
          }
  
          E lastElement;
          do {
              lastElement = iterator.next();
          } while (iterator.hasNext());
  
          return Optional.of(lastElement);
      }