public static ThrowableType getThrowableType(Throwable cause) {
        final ThrowableAnnotation annotation =
                cause.getClass().getAnnotation(ThrowableAnnotation.class);
        return annotation == null ? ThrowableType.RecoverableError : annotation.value();
    }
@Test
    void testThrowableType_EnvironmentError() {
        assertThat(ThrowableClassifier.getThrowableType(new TestEnvironmentErrorException()))
                .isEqualTo(ThrowableType.EnvironmentError);
    }