Oi João, tudo bem?
Pesquisei bastante sobre o assunto e não encontrei nenhuma forma de fazer essa verificação de uma vez, da forma que você propôs. Um jeito alternativo de verificar isso seria criar um método auxiliar na classe A (que faria parte de suas filhas) para verificar se C é o parâmetro do Generics:
boolean eParametro(T argument){
if (argument instanceof C)
return true;
return false;
}
Depois, na verificação que você propôs, chamamos esse método, dessa forma:
if (letraA instanceof B and letraA.eParametro()) {
....
}
Não sei se essa é a melhor implementação, visto que, se houvessem várias classes como parâmetros do Generics, essa implementação seria muito extensa e deveríamos conhecer todas elas. Porém, parece ser a alternativa para conseguir fazer as duas verificações. Acredito que o conceito de herança não considere os Generics, por isso a dificuldade.
Espero ter ajudado, abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!