public static <T extends Throwable> void assertFutureThrows(
        Future<?> future,
        Class<T> expectedCauseClassApiException,
        String expectedMessage
    ) {
        T receivedException = assertFutureThrows(future, expectedCauseClassApiException);
        assertEquals(expectedMessage, receivedException.getMessage());
    }
Assert that a future raises an expected exception cause type. Return the exception cause
if the assertion succeeds; otherwise raise AssertionError.

@param future The future to await
@param exceptionCauseClass Class of the expected exception cause
@param <T> Exception cause type parameter
@return The caught exception cause
clients/src/test/java/org/apache/kafka/test/TestUtils.java