@Test public void testOrElseThrow_failureWithCause() throws Throwable {

  MyException exception = new MyException("test");
  Exception cause = new RuntimeException();
  exception.initCause(cause);
  Maybe<?, MyException> maybe = Maybe.except(exception);
  MyException thrown = assertThrows(MyException.class, maybe::orElseThrow);
  assertThat(thrown).isSameAs(exception);
}