static void launder(final Throwable pThrowable, Class<? extends Throwable>... pExpectedTypes) {
        if (pThrowable instanceof Error) {
            throw (Error) pThrowable;
        }
        if (pThrowable instanceof RuntimeException) {
            throw (RuntimeException) pThrowable;
        }

        for (Class<? extends Throwable> expectedType : pExpectedTypes) {
            if (expectedType.isInstance(pThrowable)) {
                throw new RuntimeException(pThrowable);
            }
        }

        throw new UndeclaredThrowableException(pThrowable);
    }
static void launder ( final Throwable pThrowable , Class < ? extends Throwable > ... pExpectedTypes ) { if ( pThrowable instanceof Error ) { throw ( Error ) pThrowable ; } if ( pThrowable instanceof RuntimeException ) { throw ( RuntimeException ) pThrowable ; } for ( Class < ? extends Throwable > expectedType : pExpectedTypes ) { if ( expectedType . isInstance ( pThrowable ) ) { throw new RuntimeException ( pThrowable ) ; } } throw new UndeclaredThrowableException ( pThrowable ) ; }
/*public