code: @Beta
    public static <T> Iterable<T> presentInstances(
        final Iterable<? extends Optional<? extends T>> optionals) {
      checkNotNull(optionals);
      return new Iterable<T>() {
        @Override
        public Iterator<T> iterator() {
          return new AbstractIterator<T>() {
            private final Iterator<? extends Optional<? extends T>> iterator =
                checkNotNull(optionals.iterator());
  
            @Override
            protected T computeNext() {
              while (iterator.hasNext()) {
                Optional<? extends T> optional = iterator.next();
                if (optional.isPresent()) {
                  return optional.get();
                }
              }
              return endOfData();
            }
          };
        }
      };
    }
docs: Returns the value of each present instance from the supplied {@code optionals}, in order,
  skipping over occurrences of {@link Optional#absent}. Iterators are unmodifiable and are
  evaluated lazily.
  
  <p><b>Comparison to {@code java.util.Optional}:</b> this method has no equivalent in Java 8's
  {@code Optional} class; use {@code
  optionals.stream().filter(Optional::isPresent).map(Optional::get)} instead.
  
  @since 11.0 (generics widened in 13.0)