code: public final A orElseGet(Supplier<A> otherSupplier) {
          return match(__ -> otherSupplier.get(), id());
      }
docs: If the value is present, return it; otherwise, return the value supplied by <code>otherSupplier</code>.
  
  @param otherSupplier the supplier for the other value
  @return this value, or the supplied other value