public void testThrowsCheckedExceptionLetsRuntimeExceptionsThrough() {
    final BeanFactory factory = (BeanFactory) GWT.create(ThrowsCheckedExceptionBeanFactory.class);
    final HasMethodThatThrowsCheckedException proxy =
        (HasMethodThatThrowsCheckedException) factory.getBean(BEAN);

    try {
      proxy.throwRuntimeException();
      fail("Was expecting a RuntimeException to be thrown");
    } catch (final RuntimeException expected) {
    }
  }
  public void testThrowsCheckedExceptionOnUnadvicedMethod() {
    final BeanFactory factory = (BeanFactory) GWT.create(ThrowsCheckedExceptionBeanFactory.class);
    final HasMethodThatThrowsCheckedException proxy =
        (HasMethodThatThrowsCheckedException) factory.getBean(BEAN);

    try {
      proxy.unadvicedThrowCheckedException();
      fail("Was expecting a CheckedException to be thrown");
    } catch (final CheckedException expected) {
    }

    final ThrowsCheckedExceptionMethodInterceptor advisor =
        (ThrowsCheckedExceptionMethodInterceptor) factory.getBean(ADVISOR);
    assertEquals(0, advisor.executedCount);
  }