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