Stubbing um método que usa a classe <T> como parâmetro com o Mockito

Existe um método genérico que usa uma classe como parâmetro e eu tenho problemas para substituí-la pelo Mockito. O método fica assim:

public <U extends Enum<U> & Error, T extends ServiceResponse<U>> T validate(
    Object target, Validator validator, Class<T> responseClass,
    Class<U> errorEnum);

É horrível, pelo menos para mim ... Eu poderia imaginar vivendo sem ele, mas o resto da base de código o usa alegremente ...

Eu estava, no meu teste de unidade, stub esse método para retornar um novo objeto vazio. Mas como faço isso com mockito? Eu tentei

when(serviceValidatorStub.validate(
    any(), 
    isA(UserCommentRequestValidator.class), 
    UserCommentResponse.class, 
    UserCommentError.class)
).thenReturn(new UserCommentResponse());

mas como estou misturando e combinando correspondências e valores brutos, recebo "org.mockito.exceptions.misusing.InvalidUseOfMatchersException: uso inválido de correspondências de argumentos!"

questionAnswers(3)

yourAnswerToTheQuestion