public <X extends Throwable> W orElseThrow(Supplier<? extends X> exceptionSupplier) throws X {
       return inner.orElseThrow(exceptionSupplier);
    }
public < X extends Throwable > W orElseThrow ( Supplier < ? extends X > exceptionSupplier ) throws X { return inner . orElseThrow ( exceptionSupplier ) ; }
@see Optional#orElseThrow(Supplier)